面对象静态结构描述方法
在面向对象中类和类之前的关系分为以下几种,关联(association)、聚合(aggregation)、组合(composition)、依赖(dependency)、泛化(generalization)/继承(inheritance)和实现(realization),
深入理解:
- (关联)Association:A类有B类有逻辑上的连接,A类中有B类的引用,组合、聚合也属于关联关系,只是关联关系的类间关系比其他两种要弱
- (聚合)Aggregation : A类有一个B类,部分和整体的关系,类似于,警察和警察服的关系,两者可以分开
- (组合)Composition : A类拥有一个B类,部分和整体的关系,强关联,整体和部分不能分开笔芯和笔的关系,如果没有笔芯,笔就无法使用
- (依赖)Dependency : A类使用了B类,A类的变化引起了B类的改变,体现在某个类的方法使用另一个类的对象作为参数
- (继承)Inheritance : B类是一个A类 (或者B类扩展A类),描述子类和父类的关系
- (实现)Realization : B类实现了接口A
如下图(图例描述):
虚线箭头指向依赖;
实线箭头指向关联;
虚线三角指向接口;
实线三角指向父类;
空心菱形能分离而独立存在,是聚合;
实心菱形精密关联不可分,是组合;
Unkonw Unkonw(你不知道一样东西,你也会不知道自己不知道这样东西)