(先补充java的基础:
1.一个接口可以继承多个接口interface C extends A, B {}是可以的.
2.一个类只能继承一个类.
3.接口不可以继承一般类.)
类图:
1: 泛化(Generalization)
是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:房子已一般的,楼房和木房等是房子的特殊化。
(带三角箭头的实线,箭头指向父类)
2:关联(Association)
是一种拥有的关系,它使一个类知道另一个类的属性和方法;例如:动物园拥有多个动物,一个动物拥有n条腿。
(带箭头的实线,箭头的指向被拥有者)
3: 聚合(Aggregation)
是整体与部分的关系,且部分可以离开整体而单独存在。聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
(带空心菱形的实心线,菱形指向整体)
4: 组合(Composition)
是整体与部分的关系,但部分不能离开整体而单独存在。如学校和学院的关系,学校消失了学院也就不复存在。
组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。
(带实心菱形的实线,菱形指向整体)
5:依赖(Dependency)
是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.
平时编码的表现:局部变量或者函数参数,或者调用静态方法
6:最后也是最常用的一种:实现(Realization)
主要是搞清楚线和名称的对应(记住);