大家在设计一个项目的时候,而且通常情况下需要设计出整个项目的类图。
一个项目中有很多类,这些类之间关系一般通过UML类图表现出来,那么类与类之间的关系有哪些呢?
- 1.泛化
泛化关系:就是继承关系。这也是C++中两个类之间最重要的关系,表示is-a的关系。
动物类作为基类,老虎类继承自动物类。老虎不但有动物的一切特征同时还有自己成员。
代码体现:继承
- 2.组合
组合关系:整体与局部的关系,更是强调具有相同的生命周期,具有很强的耦合关系,表示contains-a关系。
比如:老虎和虎皮的关系。只要有老虎就有虎皮,老虎没了也就没有虎皮了。
代码体现:成员变量
- 3.聚合
聚合关系:也是整体和局部的关系,单独存在也是可以的,是一种很弱的耦合关系,表示has-a关系。
比如:虎群和老虎。老虎可以离开虎群而单独存在,他们有各自的生命周期。
代码体现:成员变量
- 4.关联
关联关系:表示两个类之间有关联,类之间有影响。比如老虎或者虎群和天气之间的关系就是关联关系。
代码体现:成员变量
- 5.接口
接口:也是继承关系,只不过这里只提供相应的方法,而不提供实现。在子类中去实现
比如:老虎继承吃这个接口,吃这个接口提供了具体的函数,任何一个继承这个接口的类都要实现这样的接口函数。
代码体现:继承
- 6.依赖
依赖关系:表达了使用关系,也就是一个类需要另外一个类作为参数,是一种临时性的关联。依赖关系尽量是单向的,不要双向的。
代码体现:一般指有局部变量、函数参数、返回值建立起来的不同对象之间的关系
以上就是之间的关系!