C++UML类图的关系
在C++中UML主要用来描述软件中类和对象以及它们的静态关系。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。
类图的3个基本组件:- 类名;
- 属性;
- 方法;
- + public
- - private
- # protected
- 0..1, 无实例,或者1个实例;
- 1, 只有一个实例;
- 0..*, 任意个实例;
- 1..*, 1个以上实例;
是一种类与类之间的继承关系,即is-a。
使用实线+空心三角箭头表示,空心箭头指向基类。
实现(Realization)Implement (is-a)如:
大雁 ----------|> 鸟类
是实现类与接口之间的关系,也是is-a的关系。
使用虚线+空心三角箭头表示,空心箭头指向基类。
关联(Association) (knows-a)如:
大雁飞 - - - - -|> 飞翔
类与类之间的强依赖关系,即knows-a的关系,它使一个类知道另一个类的属性和方法。
关系比依赖更强,不存在依赖关系的偶然性、也不是临时性的,一般是长期性的,而且双方一般是平等关系。
使用实线+箭头表示,箭头指向关联类。
聚合(Aggregation)(has-a)如:
学生 ------------> 课程
企鹅 ------------> 气候
关联关系的特例,体现整体与部分的关系,即has-a,整体与部分可分离,有各自的生命周期。
使用空心菱形+实线+箭头表示,箭头指向表示部分的类。
组合 (Composition) (contains-a)如:
雁群 <>----------> 大雁
关联关系的特例,体现不可分离的整体与部分关系,即contains-a,也称强聚合。整体与部分不可分离,没有整体就没有部分。
使用实心菱形+实线+箭头表示,箭头指向表示部分的类。
依赖 (Dependency) (uses-a)如:
鸟 <+>----------> 翅膀
偶然的、临时的、较弱的使用关系,即uses-a,比以上关系都弱。
使用虚线+箭头表示,箭头指向表示依赖对象的类。
如:
人 -----> 电脑



