参考
一、基本概念
1、类图的的基本组件:类名、属性、方法
2、类与类之间的关系:泛化、实现、依赖、关联。其中关联又分为一般关联、聚合、组合
二、类之间的关系
1、泛化
即继承,is-a的关系,表现在代码中即继承非抽象类,用带空心箭头的实线表示
2、实现
表现在代码中即继承抽象类,用带空心箭头的虚线表示
3、依赖
表现在代码上即类B作为参数被类A的某个方法使用,用带箭头的虚线表示
4、关联
对象之间的一种引用关系,表现在代码上即关联类B以类属性的形式出现在关联类A中,用带箭头的实现表示
5、聚合
表示has-a的关系,是一种不稳定的包含关系,较强于一般关联,有整体和局部的关系,并且没有了整体,局部也可以单独存在。如公司和员工的关系,公司包含员工,但是如果公司倒闭,员工依然可以换公司,用空心的菱形表示,菱形从局部指向整体
6、组合
表示contains-a的关系,是一种强烈的包含关系。组合类负责被组合类的生命周期。是一种更强的聚合关系。部分不能脱离整体存在。如公司和部门的关系,没有了公司,部门也不能存在了;调查问卷中问题和选项的关系;订单和订单选项的关系。在类图使用实心的菱形表示
rational rose绘制组合:双击聚合——Role B Detail——Containment of……——By Value打上勾
三、示例
- 车的类图结构为<>,表示车是一个抽象类;
- 它有两个继承类:小汽车和自行车;它们之间的关系为实现关系,使用带空心箭头的虚线表示;
- 小汽车为与SUV之间也是继承关系,它们之间的关系为泛化关系,使用带空心箭头的实线表示;
- 小汽车与发动机之间是组合关系,使用带实心箭头的实线表示;
- 学生与班级之间是聚合关系,使用带空心箭头的实线表示;
- 学生与身份证之间为关联关系,使用一根实线表示;
- 学生上学需要用到自行车,与自行车是一种依赖关系,使用带箭头的虚线表示