设计模式之类图表示

类图属性

一个大矩形里面分三层: - 类名 - 成员名:可见性 名称 :类型 [ = 默认值] - 方法名:可见性 名称(参数列表) [ : 返回类型] 在这里插入图片描述

可见性: - +:表示public - -:表示private - #:表示protected(friendly也归入这类)

类之间关系

1、依赖

依赖关系使用带箭头的虚线来表示,箭头从使用类指向被依赖的类。

人依赖手机: 在这里插入图片描述 依赖(Dependency)关系是一种使用关系,它是对象之间耦合度最弱的一种关联方式,被使用对象的有无,不影响使用对象,是临时性的关联。

2、关联

依赖关系使用带箭头的实线来表示,箭头从使用类指向被关联的类,可以单向关联,也可以双向关联。

双向的关联可以用带两个箭头或者没有箭头的实线来表示,单向的关联用带一个箭头的实线来表示。

老师和学生双向关联:每个老师可以教多个学生,每个学生也可向多个老师学 在这里插入图片描述 关联(Association)关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生、师傅和徒弟、丈夫和妻子等。被引用者不存在时,引用者可以存在,但是没有意义。

3、聚合

聚合关系可以用带空心菱形的实线来表示,菱形指向整体。

大学包含教师: 在这里插入图片描述

聚合(Aggregation)关系是关联关系的一种,是强关联关系,是整体和部分之间的关系,是 has-a 的关系。当部分类不存在,整体类也不能存在,但是部分可以脱离整体而独立存在。比如大学不能脱离教师而存在,但是没有大学教师依然能够独立存在。

4、组合

组合关系用带实心菱形的实线来表示,菱形指向整体 头和嘴: 在这里插入图片描述

在组合关系中,整体对象可以控制部分对象的生命周期,一旦整体对象不存在,部分对象也将不存在,部分对象也不能脱离整体对象而存在。例如,头和嘴的关系,没有了头,嘴也就不存在了。

5、泛化

泛化关系用带空心三角箭头的实线来表示,箭头从子类指向父类。

人和学生、老师: 在这里插入图片描述

泛化(Generalization)关系是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系,是 is-a 的关系。

6、实现

实现关系使用带空心三角箭头的虚线来表示,箭头从实现类指向接口

鸟和飞: 在这里插入图片描述

实现(Realization)关系是接口与实现类之间的关系。在这种关系中,类实现了接口,类中的操作实现了接口中所声明的所有的抽象操作。可以将实现类看做方法。

参考: https://www.cnblogs.com/shindo/p/5579191.html https://blog.csdn.net/sinat_21107433/article/details/102576624 http://c.biancheng.net/view/1319.html https://www.jianshu.com/p/641682f9c918


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!