`

关于泛化、继承、实现、关联、聚合、组合、依赖关系比较

 
阅读更多

[ 类的关系 ]

① Generalization(泛化) -> { Inheritance(继承),Realization(实现)}

② Association(关联关系)-> {Aggregation(聚合关系),Composition(组合关系)}

③ Dependency(依赖关系)


[ 关系详解 ]

Generalization(泛化)

泛化表现为继承或实现关系(is a)。具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的实现关系。




Association(关联关系)

关联关系表现为变量(has a )。类与类之间的联接,它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的全局变量。关联关系有双向关联和单向关联。双向关联:两个类都知道另一个类的公共属性和操作。单向关联:只有一个类知道另外一个类的公共属性和操作。大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可复用的类。




Aggregation(聚合关系)

聚合关系是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。普通关联关系的两个类处于同一层次上,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。同时,是一种弱的“拥有”关系。体现的是A对象可以包含B对象,但B对象不是A对象的组成部分。具体表现为,如果AB聚合成,表现为A包含有B的全局对象,但是B对象可以不在A创建的时刻创建。




④ Composition(组合关系)

组合关系是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。Composition(组合关系)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。如果AB组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。




Dependency(依赖关系)

依赖关系表现为函数中的参数(use a)。是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。




转自: http://blog.csdn.net/maybehelios/article/details/2038685

[]



分享到:
评论

相关推荐

    UML类图关系泛化、继承、实现、依赖、关联、聚合、组合.doc

    UML类图关系泛化、继承、实现、依赖、关联、聚合、组合.doc

    UML类图关系(泛化、继承、实现、依赖、关联、聚合、组合).doc

    UML类图关系(泛化、继承、实现、依赖、关联、聚合、组合).doc

    UML类图怎么画学习示例

    类之间的关系,如关联、聚合、组合、泛化和依赖等,则通过特定的图形符号来表示。 关联表示两个类之间的连接关系,可以是单向或双向的。聚合和组合表示一种更为紧密的关系,其中聚合表示类之间存在弱的“拥有”关系...

    C/C++ 类关系

    C/C++类关系 说明了类中的各种关系:关联、聚合/组合、依赖、泛化(继承)

    UML:类图关系总结

    UML类图几种关系的总结,泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition...

    设计模式

    本篇会讲解在UML类图中,常见几种关系:泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition)。泛化关系是继承或实现的关系,是isa关系,具体表现为类与类的继承...

    UML类图与类的关系详解

    类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。在画...

    UML类图几种关系的总结

    泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的...

    类与类关系的UML图与代码表现

    存在以下关系:(1)泛化(Generalization):狗与动物(空箭头)(2)关联(Association):公司与员工有特定的某种关系(实线)(3)依赖(Dependency):人依赖螺丝刀(虚线箭头)(4)聚合(Aggregation):电脑和CPU,主板(菱形空间头)...

    面向对象系统分析与设计课件及复习资料

    4.4.1 泛化关联 4.4.2 使用关联 4.4.3 包含关联 4.4.4 扩展关联 4.5 use case图的应用 4.5.1 use case的确定 4.5.2 建立use case模型 第5章 对象类图与对象图 5.1 对象类图 5.1.1 对象类 ...

    UML与系统分析设计

    4.4.1 泛化关联 4.4.2 使用关联 4.4.3 包含关联 4.4.4 扩展关联 4.5 Use Case图的应用 4.5.1 Use Case的确定 4.5.2 建立Use Case模型 第5章 对象类图与对象图 5.1 对象类图 5.1.1 对象类 ...

    网吧管理系统--课程设计.doc

    (2)泛化关系:表示类与类、接口与接口之间的继承关系或类与接口的实现关系。 (3)聚合关系:是关联关系的一种,表示整体与个体的一种弱的"拥有"关系。(4)依 赖关系:是类与类之间的连接,代表一个类依赖另一个...

    UML和模式应用(架构师必备).part01.rar

    32.11 聚合关系和组合关系 32.12 时间间隔和产品价格—解决迭代1阶段的“错误” 32.13 关联角色名称 32.14 作为概念的角色与关联中的角色 32.15 导出元素 32.16 受限关联 32.17 自反关联 32.18 使用包来组织...

Global site tag (gtag.js) - Google Analytics