何时使用专业化?

问题描述 投票:0回答:1

我知道只有当创建的专业化具有独特的元素(例如属性或它们自己的关联)时才应该使用专业化。如果缺少这些,如何对其进行建模? 我曾将它们视为简单的字符串属性,或者它们是否具有枚举的有限值范围。 还有其他方式来表示它们吗? 如果我有一个类 C1 与另一个类 C2 具有可选关联,如果我将 C1 专门用于不同的子类但没有属性和关联,但其中一个由于特定约束而只能在特定情况下与 C2 关联,那么它总是错误的将它们表示为专业化?

uml entity-relationship class-diagram
1个回答
0
投票

类不仅仅涉及属性和关联。它还与行为(操作、信号接收)和约束有关。专业化不需要 UML 中的任何歧视。

因此,拥有一个不添加任何属性或关联的专门类是非常有意义的。所以这方面没有什么对错之分。它或多或少适合特定的需求。

虽然也不是众所周知,但在 UML 中,对象的类甚至可以动态更改(尽管如此,应谨慎使用这种建模,因为事实证明它很难或不可能在许多编程语言中实现)。

© www.soinside.com 2019 - 2024. All rights reserved.