目录
关联关系(Assoziationsklasse(德,关联))
复合关系(Gerichtete Assoziation(德,泛化联合))
UML类图:
统一建模语言(Unified Modeling Language,UML)是软件工程领域中一种通用的、可开发的建模语言,旨在提供一种标准的方法来可视化系统的设计。【维基百科】
UML类图图示样例如下:
类(Class)
![](https://i-blog.csdnimg.cn/blog_migrate/43efbeb6ed792a2ec83f8c9515f8b4bb.jpeg)
上图表示一个类(Class)。类图分三层,第一层是类的名称,如果是抽象类,就用斜体表示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected,‘~’表示default。
接口(Interface)
![](https://i-blog.csdnimg.cn/blog_migrate/857300cc576900004635a88e755fa8af.jpeg)
上图表示一个接口,它与类图的主要区别是顶端有<<接口>>/<<interface>>标识。第一行是接口名称,第二行是接口特性,第三行是类的操作。
![](https://i-blog.csdnimg.cn/blog_migrate/baadf46a612e201ecb698e8cc0103ef4.jpeg)
上图是接口的另一种表示法,棒棒糖表示法。圆圈旁为接口名称,接口方法在实现类中出现。
继承关系(Generalisierung(德,泛化关系))
![](https://i-blog.csdnimg.cn/blog_migrate/944838f9e57dd3e61705be0537fd0311.jpeg)
上图表示的是继承关系,动物是源类(被称为基类、超类或父类),鸟是动物的继承类(被称为派生类、导出类或子类)。继承关系用空心三角形+实线来表示。
实现关系(Realisierung(德,实现))
![](https://i-blog.csdnimg.cn/blog_migrate/bf42e08b470ed3ef58d743b59fba03a1.jpeg)
上图表示的是继承关系,动物是源类(被称为基类、超类或父类),鸟是动物的继承类(被称为派生类、导出类或子类)。实现关系用空心三角形+虚线来表示。
关联关系(Assoziationsklasse(德,关联))
![](https://i-blog.csdnimg.cn/blog_migrate/8faa583cedb21cffc36c84c8b4789c31.jpeg)
上图表示的是关联关系,企鹅需要气候的变化,需要了解气候规律。当一个类‘知道’另一个类时,可以用关联。关联关系用实线来表示。
聚合关系(Aggregation(德,聚合))
![](https://i-blog.csdnimg.cn/blog_migrate/b57dad130fa0e34b7cb8ccff41f09a70.jpeg)
上图表示的是聚合关系,聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心菱形+实线来表示。
复合关系(Gerichtete Assoziation(德,泛化联合))
![](https://i-blog.csdnimg.cn/blog_migrate/d0947f4b22699df397c52d5b181a251a.jpeg)
上图表示的是复合(被称为合成、组合)关系,复合表示一种强德‘拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期是相同的。另外复合关系的两端的数子被称为基数,表明这一端的类可以有几个实例。如果一个类可能有无数个实例,则就用‘n’来表示。关联关系、聚合关系也可以有基数的。复合关系用实心菱形+实线来表示。
依赖关系(Abhängigkeit(德,依赖))
![](https://i-blog.csdnimg.cn/blog_migrate/be34a8548cdae40b04a8d4f0ed6f5e35.jpeg)
上图表示的是依赖关系。动物新陈代谢需要氧气和水,所以动物依赖于氧气和水。依赖关系用虚线箭头来表示。