最近看了大话设计模式,这本书确实很不错,通俗易懂。刚看到了UML类图,这里做一下总结。
类与类之间可以细分为六种关系:继承、实现、关联(association)、依赖(dependency)、聚合(aggregation)、组合(composition)。六种关系粗分为三种:泛化、依赖、关联。泛化(generalization)包括继承和实现,关联包括关联、聚合和组合。
继承用实线和空心三角形表示。
实现用虚线和空心三角形表示。
关联用实线箭头表示,在Java代码中变现为B是A的全局变量。如:
Class people{
private Address address;
}
依赖关系用虚线箭头表示,在Java中表现为B是A的局部变量或参数。如:
Class people{
//参数
public void eat(Food food){
//或者局部变量
Tool tool;
}
}
聚合关系用空心菱形和箭头表示,在Java中体现为B是A的全局变量关系但A创建时不一定要创建B。如:
Class people{
private XiaoMing xiaoMing;
}
组合关系用实心菱形和箭头表示,在Java中体现为B是A的全局变量但A创建时必须同时创建B,即B在A的构造方法中创建。如:
Class people{
private Arm arm;
public people(Arm arm){
this.arm = arm;
}
}
需要详细了解的同学请看这篇博文:http://blog.csdn.net/maybehelios/article/details/2038685
明白了上面的问题之后,下面这张UML图就很容易理解了:
版权声明:本文为u011465550原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。