UML类图
类的表示
类图分为三层,第一层是类的名称,如果是抽象类或接口,就用斜体表示,其中接口名称的上部会用<<interface>>修饰;第二层是类的成员变量,通常是字段和属性;第三层是类的成员方法。类的成员变量和成员方法的修饰符分为+、#、-,分别表示public、protected、private。
类之间的关系
类之间的关系有泛化(Generalize),实现(Realize),关联(Associate),聚合(Aggregate),组合(Compose),依赖(Dependency)。
1.泛化(Generalize)
关系:泛化是一种继承关系,用来表示类与类、类与抽象类、抽象类与抽象类、接口与接口之间的关系。
箭线:用空心三角形+实线表示,箭头指向父类。
2.实现(Realize)
关系:实现用来表示类与接口、抽象类与接口之间的关系。
箭线:用空心三角形+虚线表示,箭头指向接口。
3.关联(Associate)
关系:关联可以是双向的,也可以是单向的;关联关系可以进一步划分为聚合及组合关系。
箭线:用实线箭头表示,双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
比如,荷花受季节影响,箭头指向季节。
4.聚合(Aggregate)
关系:聚合用来表示整体与部分的关系,是一种弱的关联关系,体现为A可以包含B,但B不一定是A的一部分。
箭线:用空心的菱形+实线箭头表示,菱形指向整体。
5.组合(Compose)
关系:组合用来表示整体与部分的关系,是一种强的关联关系,体现了严格的整体和部分的关系,整体和部分的生命周期一样。
箭线:用实心的菱形+实线箭头表示,菱形指向整体。
6.依赖(Dependency)
关系:依赖用来表示两者之间的依从关系。
箭线:用虚线箭头表示,箭头指向被依赖的对象。
比如,陆生植物依赖土壤,而水生植物依赖水,当然了,陆生植物也依赖水,这里只是为了更直观地体现陆生和水生的本质区别。
完整的类图