类(class):
类图分为3层,第一层显示类名(动物),如果是抽象类用斜体表示;
第二层显示类的特性(属性、成员变量);
第三层是类的操作(方法,类的成员函数)。
符号:“+”表示public,“-”表示private,“#”表示protected。
接口(interface):
接口图与类图的区别是顶端有<<interface>>标识。
第一层接口名称,第二层是接口方法。
接口图第二种表示方法,“棒棒糖”法,即图中唐老鸭实现讲人话的接口。
接口实现:
实现接口用空心三角形加虚线表示。(大雁实现飞翔接口)
继承(inherent):
继承由空心三角箭头加实线表示,由子类指向父类。
关联(association):
关联用实线箭头表示。
聚合(aggregation):
聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但是B对象不是A对象的一部分。
聚合关系用空心菱形加实线箭头来表示。
组合(Composition):
合成(组合)是一种强的‘拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
合成关系用实心的菱形加实线箭头表示。图中的数字‘1’,‘2’称为基数。表示这一段的类可以有几个实例。比如1只鸟有2个翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。
依赖关系(Dependency):
依赖关系用虚线箭头表示。比如动物的生存需要水和氧气。
参考资料:《大话设计模式》,作者:程杰