《类聚合关系与组合关系.docx》由会员分享,可在线阅读,更多相关《类聚合关系与组合关系.docx(4页珍藏版)》请在第一文库网上搜索。
1、类聚合关系与组合关系1. 种类:Generalization泛化),Dependence依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(合成关系)。2. 其中Aggregation(聚合关系)、Compos止ion(合成关系)属于Association(关联关系),是特殊的Association关联关系。3. Generalization泛化)表现为继承或实现关系(is a)o具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的实现关系。Gener al i z at i on泛化关系O InterfaceA-A Ba
2、seClass-s-InterfaceO InterfaceCIO InterfaceB DerivedClassInterfaceB is a InterfaceA, DerivedClass is a BaseClass ,ClaC is a LInterfaceCGeneral】zat】on防化)表现为继承或实现关系,具体形式为类与类之间的继承关系匕接口与接口之间的继承关系,类对接口的实现关系Generali zati on泛化关系O InterfaceA BaseClasss-CLnterface InterfaceCZ-接口与接口之间的继承关系,类对接口的实现关系4. Associa
3、tion关联关系表现为变量(has a)。类与类之间的联接,它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的全局变量。关联关系有双向关联和单向关联。双向关联:两个类都知道另一个类的公共属性和操作。单向关联:只有一个类知道另外一个类的公共属性和操作。大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类。Aoci ati 联关系 ClassiClass2 ClassA ClassBClassB bl = new ClassBO;ClassB b2;ClassA has ClaB s instance (s)既不是Composition犯合关系或者Aggreg
4、ation聚合关系的一般Association关联关系中Cl ass 域1中包含了 Cl as sB对象的引用。如类People知道类Gun,但是People不是由Gui函合或者聚合而成的,仅仅是知道5. Aggregation聚合关系)是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。普通关联关系的两个类处于同一层次上,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。同时,是一种弱的“拥有”关系。体现的是A对象可以包含B对象,但B对象不是A对象的组成部分。具体表现为,如果A由B聚合成,表现为A包含有B的全局对象,但是B对象可以不在A创建的时刻创建。Aggr egati
5、on聚合关系A包含有B的全局对象ClassA ClassBd b : ClaB匚,Function()b在合适的时候创建、一Function 0司以是构造函数也可以和组合成属性(C#)区-I. Composi ti on1种特殊的 Associ ati 叭 L、通过与Associ ation形根的箭头表顼Class ClassB Class ClassB ClassA has a ClassB, not composed by ClassB lClass ClassAprivate ClasB b;public ClassA ()可以在此创建b = new ClassB ();Class Cl
6、assAprivate ClassB b;public Function)b = new ClassB 0:是一种弱的“拥有”关系体现的是谢象可4以包含B对象,但B对象不是A象的蛆成部分如汽车由轮子等聚合而成,当汽车报废时,轮 匕子可以单独存在。6. Composition组合关系)是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。5田。”组合关系)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。如果A由B组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。A包含有B的全局对象Class Cla
7、ssB Class ClassAprivate ClassB bl;private ClassB b2:public ClassA0bl = new ClassB 0 ;b2 = new ClassB ();)Composi ti onB 合关系 ClassAo bl : ClassBd b2 : ClassB ClassA0B对象在A创建的时4,刻创建 ClassBCompoi ti on是二种特殊的Asoci ation.通过与As形状的箭头袭现。ClassA has a ClasB, and composed by ClassBCo映osi ti on (组白关系J是一种强的拥有美系了拉
8、格的部分和整体的关系,部分和整体的生命周如,人,由头躯干四肢组成。它们的生命周期一致 、当人出生时,头、躯干、四肢同时诞生当人死亡时,作为人体组成部分的头、躯干、四肢同时死去7. Dependency依赖关系)表现为函数中的参数(use a)。是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。Dependency赖关系局部变量、静态方法方法的参数、 ClassAf -Q Functionl 0。Function2 0 Functi on3 (para : ClassB)IQ ClassB。fi eldl : StringQ Operation10G 0perati on2 0Class ClassAlpublic void Function】()ClassB b = new ClassB 0;b. Operationl ();public void Function2 ()ClassB. Op er at i on2 ();)public void Function3 (ClassB para).String = para. fi eldl;表示一个类依赖于另一个类的定义,其中一个类的变化将彩响另外一个类