类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号,“+”表示 public ,“-”表示private ,“#”表示protected 。
接口图与类图的区别主要是顶端有<<interface>>显示,第一行是接口名称,第二行是接口方法。接口还有另一种表示方法,俗称棒棒糖表示法。圆圈旁边有接口名称,接口方法在实现类中出现。
实现接口:用空心三角形+虚线来表示。
继承关系(generalization):也称泛化关系。用空心三角形+实现来表示。
关联关系(association):用实线箭头来表示。即当一个类“知道”另一个类时表示为关联关系。例如企鹅要“知道”天气的变化。
聚合关系(aggregation):用空心的菱形+实线箭头来表示。聚合表示一种弱的“拥有”关系,体现是的A对象可以包含B对象,但B对象不是A对象的一部分。比如每只大雁属于一个雁群,一个雁群可以有多个大雁,这就满足了聚合关系。简单说就是符号与符号之间的替换关系。几个词,一组词,他们性质相同,具有同样的组合功能,在语言结构的同一个位置上可以互相替换,替换后生成不同的句子,这些词之间的这种替换关系,就是聚合关系。在一个语言结构中,看到其中的某个单位,会联想到另一个单位,并用另一个单位来替换,组合成新的句子,以符合交际的需要。比如根据“我吃饭”中的“我”,联想到“他”,可以替换造出“他吃饭”,根据其中的“吃”用“做”、“煮”、“烧”等替换,可以造出“我做饭”,根据其中的“饭”,用具有相同功能的“面”、“饼”、“菜”等词语替换,可以造出“我吃面”。
组合关系(composition):也称合成关系,用实心的菱形+实线箭头来表示。组合关系是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。比如鸟和翅膀就是组合关系,因为他们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。另外,你会注意到组合关系的连线两端有数字,这些被称为基数。表明这一端的类可以有几个实例,例如鸟有两个翅膀,两条腿,一个头等。如果一个类可以有无数个实例就用“n”来表示,例如鸟可以有“n”个羽毛。关联关系、聚合关系也可以有基数。
依赖关系(dependency):用虚线箭头表示。比如,动物要有生命力,需要氧气、水以及食物等,也就说动物依赖于氧气和水,他们之间就是依赖关系。