我们平时阅读一些源码分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素,但是学习UML类图前呢,我们需要现了解类与类之间的六种关系:泛化【就是继承】、实现、关联、依赖、聚合、组合
泛
化
【
继
承
】
\color{#FF0000}{泛化【继承】}
泛化【继承】
表示的是类与类之间继承的关系。
class Animal{};
class Tigger extend Animal : public Animal{};
class Dog extend Animal : public Animal{};
Animal pAnimal = new Dog;
实
现
\color{#FF0000}{实现}
实现
表示,实现接口。
interface A{}
class B implements A{}
依
赖
\color{#FF0000}{依赖}
依赖
表示,A类是B类的一个方法的参数
class A{}
class B{
void eat(A a ){}
}
关 联 \color{#FF0000}{关联} 关联
-
单向关联
表示,A类是B类的成员变量。 class A{} class B{ A a; }
-
双向关联
表示,A类是B类的成员变量,同时B类又是A类成员变量 class A{ B b; } class B{ A a; }
-
自关联
表示,A类是A类的成员变量
class A{
A a ;
}
聚
合
\color{#FF0000}{聚合}
聚合
聚合就是单向关联
组 合 \color{#FF0000}{组合} 组合
组合是一种强聚合,表示,A类,B类都是C类的成员变量
class A{}
class B{}
class C{
A a;
B b;
}