1. 类的UML图示
类封装了数据和行为, 是面向对象的重要组成部分, 它是具有相同属性,操作,关系的对象集合的总称.
类图: 用来描述不同的类和他们之间的关系.
UML中, 类使用包含类名, 属性, 操作且带有分割线的长方形表示, 如下:
类一般由三部分构成:
**类名:**就是类的名称, 类名是一个字符串.
**类的属性: **指类的性质, 即类的成员变量. 一个类可以有任意多个属性, 也可以没有属性.
可见性 名称:类型 [ = 缺省值 ]
+, -, # 分别表示: 公有(public)、私有(private)和受保护(protected)
类型表示属性的类型.
**类的操作: **操作是类的任意一个实例对象都可以使用的行为, 是类的成员方法.
可见性 名称(参数列表) [ : 返回类型]
可见性, 名称 同`类的操作`; 参数列表表示方法的参数; 返回值类型表示, 方法的返回值
2. 类与类之间的关系: 关联关系
在软件系统中, 类并不是孤立存在的, 类与类之间的各种关系, 对于不同类型的关系, UML提供了不同的表达方式.
2.1 双向关联
如下图所示, 是双向关联. 用不带箭头的实线表示.
2.2 单向关联(Association)
类的关联关系也可以是单向的, 用一个带箭头的实线表示, 如下图所示.
2.3 自关联
在系统中, 可能存在某一些类属性对象类型为该类自身, 这种特殊关联成为自关联. 例如在组合模式, 单例模式中就有自关联的类. 类图如下所示:
2.4 多重关联
多重关联关系表示两个关联对象在数量上的对应关系
2.5 聚合关系(Aggregation)
聚合(Aggregation)关系表示整体和部分的关系. **在聚合关系中, 成员对象是整体对象的一部分, 但是成员对象可以脱离整体对象而独立存在.**在UML中,聚合关系用带空心菱形的直线表示。
在代码实现聚合关系时候, 成员对象通常作为构造方法, setter方法或者业务方法的参数注入到整体对象中.
2.6 组合关系(Composition)
组合关系也表示类之间的整体与部分的关系. 组合关系中, 整体对象可以控制成员对象的声明周期, 一旦整体对象不存在, 成员对象也将不存在, 成员对象和整体对象之间具有同生共死的关系. 在UML中, 用实心菱形的直线表示.
3. 类与类之间的关系: 依赖关系
4. 类与类之间的关系: 泛化关系(继承关系)
泛化关系就是继承关系, 用于描述父类和子类之间的关系, 父类称为基类或者超类, 子类又称为派生类.在UML中, 泛化关系用带空心三角形的直线表示.
5. 类与类之间的关系: 接口与实现关系
在UML中,类与接口之间的实现关系用带空心三角形的虚线来表示。