依赖、关联、聚合\组合、泛化
依赖、关联、聚合\组合、泛化
关联:表示类与类之间的联系。它使一个类知道另一个类的属性和方法,关联可以是单向的,双向的,自身的,通常不建议使用双向关联,关联关系所涉及的两个类是处在同一个层次上的,关联关系是使用实例变量实现的。
依赖:也是类与类之间的联系,是一种弱关联,依赖总是单向的,依赖关系表示一个类依赖于另一个类的定义,但是和另一个类的关系不是太明显的时候(可以说是“uses”了那个类),就可以把这种关系看成是依赖,依赖也可说是一种偶然的关系,而不是必然的关系,就是“我在某个方法中偶然用到了它,但在现实中我和它并没多大关系”。依赖关系在语言中体现为局域变量、方法的参量,以及对静态方法的调用, 例:一个类A的某一个局域变量的类型是另一个类B,那么类A就依赖于类B。如果一个方法的参量是另一个类B的实例,那么这个方法所在的类A依赖于类B。如 果一个类A调用另一个类B的静态方法,那么类A依赖于类B。如果类B出现在类A的实例变量中,那么类A与类B的关系就超越了依赖关系,而变成了某一种关联 关系。
聚合:是关联关系的一种,是强的关联关系,聚合是整体和个人之间的关系。聚合关系也是通过实例变量实现的,聚合关系中,两个类是处在不平等的层次上的,一具代表整体,另一个代表部分。在聚合关系中,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。如果不是很确定一个关系是不是聚合关系,可以将之设置为关联关系。
组合:是关联关系的一种,是比聚合关系还要强的关联关系,但是在组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在,成员对象与整体对象之间具有同生共死的关系。 它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期,合成关系是不能共享的。代表整体的对象需要负责保持部分对象的存活,在一些情况下负 责将代表部分的对象湮灭掉。代表整体的对象可以将代表部分的对象传递给另一个对象,由后者负责此对象的生命周期。换言之,代表部分的对象在每一个时刻只能 与一个对象发生合成关系,由后者排他地负责其生命周期。如果不能确定一个关系是不是合成关系,可以将之设置为聚合关系,甚至关联关系。
泛化:泛化关系也就是继承关系,用于描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类。
???企企csvcsvcsvcsvcsvcsv
Copyright © 启程