1、建立关系
类间关系使得系统成份成为一个有机整体
关系种类:继承、聚合、关联、依赖、实现等
关系层任务:
1)构建类间关系
2)进一步完善对象层、特征层
2、继承
1)概念:如果类A具有类B的所有属性、操作,且还具有独有的属性和操作,则
A叫B的一般类,B叫A的特殊类
2)继承的性质:
1> 非对称性
2> 传递性
3)种类:单继承、多继承
4)作用:
1> 简化子类定义
2> 使得多态成为可能
5)表示:用带直线的空心三角表示
6)引入的符号:
1> * :对于父类的属性、方法,可以重新定义
2> × :不能重新定义继承的成分
7)寻找继承
1> 问题域分类
2> 从定义识别
3> 从对象集合角度,从属性方法、特征角度
8)简化、调整
1> 不能继承层次太多,避免复杂性开销
2> 特征类由自己的属性、方法
3、聚合
客观世界存在大量 整体-部分 聚合表示
1)概念:表示整体的类 与 表示部分的类之间的“整体-部分”关系就成为聚合
语义:- is a part of -
2)表示:带直线的空心菱形
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/120b6aa8dc17470739de8828fa931203.png)
3)组合:如果整体与部分之间有很强的“属于”关系,且生命周期一致,则把这种
聚合关系叫做组合
表示:用带箭头的实心菱形表示
4)识别聚合
1> 物理结构:教室-黑板
2> 组织结构:学校-教务处
3> 团体成员:班级-学生
4> 事物与其一个方面:汽车-发动机
5)审查
1> 是否符合问题域:公司职员-职员家庭
2> 是否有合理的聚合关系:课程-学生
4、关联关系
任何事物之间都有关系,若关系不强,可用关联
用属性表示事物之间的静态关系
用方法表示事物之间的动态关系
1)概念及表示:
1> 概念:如果一个类的对象和另外一个类的对象有着语义连接关系
2> 表示:用一条直线连接
2)链
是关联的实例,是对象间的语义连接
3)多重性
本端的一个对象需要另一端对象个数
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f6a244d620a744947fee4f5e4f4de8eb.png)
4)关联角色
体现一个对象对另外一个对象的职责
5)自返关联
一个对象与自身的关联
6)建立关联
1> 各类对象间的静态关系
2> 从属性、操作牵扯的对象分析
3> 建立多重性
5、依赖
1)依赖:两个模型间的一种语义关系,对目标元素的修改必须改变另外一端的源元素
表示:带箭头的虚线
2)实现关系
表示规格说明(接口)和实现之间的关系
表示:带虚线的空心三角
3)有两种情况下使用:
1、接口与实现间
2、用例与实现用例的协作关系
6、接口
特殊:抽象类,之定义规格说明
属性:静态常量
方法:抽象方法
表示:类图,在类名前面加《interface》