0

我有一堆需要继承相同基类和接口的类。每个具体类都有箭头会使图表非常混乱。我想做一些事情,比如把具体的类放在一个“子组”中,然后从基类和接口中画箭头到包,包内的所有东西都会得到这个继承。另外,我看到了泛化集,但这仍然需要很多箭头,而且很乱。

像这样的东西:

BaseClass    Interface
    |         |     
    |         | 
    |         | 
    |         | 
    \/       \/
________________
|ClassA        |
|ClassB        |
|ClassC        |
|ClassD        |
________________

并且 ClassA、ClassB、ClassC 和 ClassD 都继承了 BaseClass 和 Interface。

顺便说一句,我正在使用视觉范例。

4

2 回答 2

0

您的问题不受您的 UML Deisgn 软件的影响,它是一个更一般的 UML 问题。

Altought UML Design Software 非常有帮助,我强烈建议从白板/笔记本的角度尝试 UML 图。

然后,在您选择的软件工具中表示这些图表。

由于您的类源自“BaseClass”并支持“BaseInterface”,请记住支持一个或多个接口,它也是由子类继承的。

..................................................
..+------------------+......+------------------+..
..|    BaseClass     +--(o--+   BaseInterface  |..
..+------------------+......+------------------+..
..| [+] SomeProperty |............................
..+--------+---------+............................
...........|......................................
...........|......................................
...........^......................................
........../.\.....................................
........./...\....................................
........+-----+...................................
...........|......................................
...........|................+------------------+..
...........+----------------+   AChildClass    |..
...........|................+------------------+..
...........|......................................
...........|................+------------------+..
...........+----------------+   BChildClass    |..
............................+------------------+..
...........|......................................
...........|................+------------------+..
...........+----------------+   CChildClass    |..
............................+------------------+..
..................................................

在此示例中:作为“BaseClass”的后代的“AChildClass”、“BChildClass”和“CChildClass”继承了“SomeProperty”属性。但是,也继承了对“BaseInterface”接口的支持。

大多数编程语言都支持这个功能,我记得看过一些编程语言,其中相同的接口支持必须在每个类中显式声明。

干杯。

于 2014-07-18T19:38:15.677 回答
0

在 UML 中没有任何方法可以对专门的分类器或接口进行分组。您必须将每个专用分类器和通用分类器与一个单独的泛化关系联系起来。泛化是与恰好两端的直接关系。一种用于通用分类器,一种用于专用分类器。如果定义了泛化集,您可以使用树样式连接器。泛化集中的树样式定义了专门的分类器专门化在同一个泛化集中。树样式还使您的图表更加清晰。

我建议您也使用更多图表。

于 2014-06-13T16:37:11.910 回答