温习了一下类图画法

稍微温习了一下UML类图的画法。太久不画,表示类之间关系的各种箭头已经忘了哪个是哪个。
参考资料:http://www.uml.org.cn/oobject/200910191.asp

 

关联 (association):直线
依赖 (dependency):带箭头的虚线
继承 / 泛化 (generalization) :带三角箭头的实线
实现 (realization):带三角箭头的虚线
聚合 (aggregation):带空心菱形的虚线
组合 (composition):带实心菱形的虚线

其中聚合和组合的区别,别人的说法是:聚合——如果整个单元消失了,被聚合的类仍然作为它本身存在下去;组合——如果整个单元消失了,被组合的类也一同消失。

有人举例说明:聚合,就是一台电脑和它各部件的关系。组合,就是一个人和这个人的各个器官的关系。

不过觉得有些偏差。人死了,器官仍然可以移植给别人用吧?虽然会有排斥反应,器官的DNA也是死去那个人唯一的。

从实际编程考虑的话,个人觉得,聚合用于这样的场合——有一个类,它引用了一个其他的类作为它的属性;组合——有一个类,它里面写了内部类。

这么理解可能片面了。没理解到根上。不过应该还算说得通吧。 

posted @ 2009-11-02 11:08  Oasyth  阅读(2937)  评论(0编辑  收藏  举报