定义
UML: Unified Modeling Language,
- 类(class):封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称,是对具有相同属性和行为的对象的一种抽象表示。
- 接口(Interface:是一种特殊的类,具有类的结构但 不可被实例化,只可以被实现(继承)。只包含虚函数(没有函数体)的类可以被认为是一个接口
类的写法
类名
类属性:[可见性] [属性名称] : [类型] = { 默认值,可选 }
类方法:[可见性] [方法名称] ([参数名 : 参数类型, …]) : [返回值类型]
可见性
* +:public,公用的,对 所有类 可见
* -:private, 私有的,只对 该类本身 可用
* #:protected, 受保护的,对该类的 子孙 可见
* 无符号:default
其他:
* __(下划线):表示static
* 斜体:表示抽象,或者使用<<>>
类关系
- 继承(泛化)
- 符号:实线空心三角形
- 指向:子类指向父类,三角形在的一侧为父类
- 实现
- 符号:虚线空心三角形
- 指向:实现类指向接口类,三角形在的一侧为接口类
- 组合
- 符号:实线实心菱形箭头
- 指向:整体类指向部门类,箭头在的一侧为部分类
- 说明:一旦整体对象不存在,成员对象也不存在,整体对象和成员对象之间具有同生共死的关系;一般在整体类的构造方法中直接实例化成员类
- 例子:人、头、心脏
- 聚合
- 符号:实线空心菱形箭头
- 指向:整体类指向部门类,箭头在的一侧为部分类
- 说明:成员对象是整体的一部分,但是成员对象可以脱离整体对象独立存在;成员对象通常以构造方法、Setter方法的方式注入到整体对象之中,因为成员对象可以脱离整体对象独立存在
- 例子:树、叶子、树枝
- 关联
- 符号:实线箭头,或不带箭头,箭头表示:单向关联、双向关联、自关联
- 指向:类属性指向类,箭头在的一侧为被作为类属性的类
- 说明:将一个类的对象作为另一个类的成员变量
- 例子:class Child {private Parent myParent; }
- 依赖
- 符号:虚线箭头
- 指向:使用类指向被使用类,箭头在的一侧是被使用的类
- 说明:某个类的方法使用另一个类的对象作为参数;类的方法中将另一个类的对象作为其对象的局部变量,类的方法中调用另一个类的静态方法
- 例子:class Child {public parentName(Parent myparent){};}
类之间的关系强弱顺序是这样的:继承(泛化) > 组合 > 聚合 > 关联 > 依赖。