[英]Should I put deleted method/member in uml class diagram?
例如在这样的 class 中->
class ProfilometerManager
{
int a = 6;
public:
ProfilometerManager(ProfilometerManager& other) = delete; //can not be cloneable
void operator=(const ProfilometerManager&) = delete; // can not be assignable
}
UML 表示法不支持这种表示法。 该标准在其语法中定义了将=
用于属性的默认值而不是用于操作。
如果您在图表中写上= delete
,那么您的具有 C++ 背景的读者可能会理解它,但这不是标准的,并且对于许多其他建模者来说会显得模棱两可。
在 UML 中,对操作使用 class 名称甚至没有定义构造函数,您需要一个 «Create» 构造型来明确定义构造器(尽管同样,大多数读者将完全理解没有构造型的含义)。
我建议不要添加它:它不符合 UML 语法,它是特定于语言的,并且不对应于 UML 中的任何内容。 不幸的是,UML 中没有任何东西可以保证不存在 class 功能:如果一个操作未显示在图表上,则可能意味着它不存在,但也可能意味着它与此特定图表无关。 如果您想坚持某些操作不存在的事实,最好的方法是在 class 中添加注释并明确此详细信息。 作为替代方案,您可以考虑在 UML 配置文件中定义具有等效含义的«Deleted»
构造型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.