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