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

[ 类的关系 ]

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

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

③ Dependency(依赖关系)

[ 关系详解 ]

① Generalization(泛化)

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

② Association(关联关系)

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

③ Aggregation(聚合关系)

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

时间: 2024-10-10 17:51:27

泛化、继承、实现、关联、聚合、组合和依赖关系比较的相关文章

分分钟弄明白UML中泛化 , 实现 , 关联, 聚合, 组合, 依赖

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency) 1. 泛化(Generalization) [泛化关系]:是一种继承关系, 表示一般与特殊的关系, 它指定了子类如何特化父类的所有特征和行为. 例如:老虎是动物的一种, 即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向父类  

UML关系(泛化,实现,依赖,关联(聚合,组合))

UML的构造快包含3种: (1) 事物(4种):结构事物,行为事物,分组事物,注释事物 (2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系 (3) 图(10种):用例图,类图,对象图,包图,组件图,部署图,状态图,活动图,序列图,协作图 事物是对模型中最具代表性的成分的抽象:关系把事物结合在一起:图聚集了相关的事物. (2) 关系(4种) UML 中类与类, 类与接口, 接口与接口这间的关系有: 泛化(generalization) 关系, 关联(association)关系( 关联,

maven 父子项目 聚合与继承 生命周期 打包插件 依赖打包 jar pom war

maven 父子关系   父项目中打包方式必须是pom  如 <packaging>pom</packaging>,父项目中使用<modules><module>msite-base</module></modules>指定子项目 子项目中使用 <parent>指定,子项目继承父项目的大部分属性 父项目 <project xmlns="http://maven.apache.org/POM/4.0.0&qu

Java语言入门教程(十):Java语言中的关联与依赖关系

在开始本文的学习前,先总结一下已经学习过的内容.在前面9篇文章中,主 要是介绍Java类中的基本语法,是按照先概括,再具体的循序渐进的方式进行的 .先介绍了Java类的主要组成部分:数据成员,方法成员,构造方法.然后对一 些通用的知识点进行了较详细介绍,如权限访问修饰符,包,静态修饰符,数据 类型等.了解了这些通用的知识点后,对于类的三个组成部分分别详细介绍,如 介绍了类中各种数据的相关问题,介绍了构造方法的相关问题,介绍了方法会使 用到的操作符,流程控制,以及调用方法会使用到的值传递等知识点.

UML中的依赖关系

问题描述 我是小白,刚学设计模式,被一些概念性问题困住了UML中的依赖关系说是如果有其中一个类变化,有可能会引起另一个类的变化这个变化我就不明白了,是类的设计(比如增加属性,修改方法)变化呢,还是类的对象变化啊? 解决方案 很久没看资料了.印象中,UML的类的关系有3种:1.继承.实现关系: 这个不用多说了 (UML图中的空心.或实心三角形) (Java代码中的extends.implements)2.组合.聚合关系: 某个对象是另一个对象的一部分. 如果容器对象 对子对象的生命周期负责,那么是

[UML]UML系列——类图class的依赖关系

相关文章          [UML]UML系列--用例图Use Case       [UML]UML系列--用例图中的各种关系(include.extend)       [UML]UML系列--类图Class       [UML]UML系列--类图class的关联关系(聚合.组合) 依赖关系的概念与符号        依赖表示一个类以某种形式依赖于其他类.当两个类处于依赖关系中时,其中一个类的改变可能会影响另一个类.        符号:   依赖关系在代码中的表现       在程序代

解析Disruptor的依赖关系

原文地址:http://ifeve.com/dissecting-disruptor-wiring-up/ 作者:Trisha   译者:廖涵  校对:方腾飞 现在我已经讲了 RingBuffer​ 本身,如何从它 读取​ 以及如何向它 写入​.从逻辑上来说,下一件要做的事情就是把所有的东西拼装到在一起. 我前面提到过多生产者的情况--他们通过 ProducerBarrier 保证写入操作顺序与可控.我也提到过简单场景下的多消费者数据访问.更多的消费者的场景会变得更加复杂,我们​ 实现了一些聪明

具有依赖关系的并行操作执行

今天看到看到一篇MSDN文章<Parallelizing Operations With Dependencies>,作者是微软Parallel Computing Platform团队的一个开发经理.文中提供出一种用于并行执行一组具有依赖关系的操作的解决方案,这不由得想起我在一年之前写的一个具有相同的功能的组件.于是翻箱倒柜找了出来,进行了一些加工,与大家分享一下. 一.问题分析 我们知道,较之串行化的操作,并行计算将多个任务同时执行,从而充分利用了资源,提高了应用的整体性能.对于多个互不相

MySQL 查找锁之间依赖关系的信息和最源头锁的thread_id号及关系

链接: http://blog.itpub.net/28602568/viewspace-1874982/ 标题: MySQL 查找锁之间依赖关系的信息和最源头锁的thread_id号及关系 作者:lōττéry版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.] #mysql 锁之间的依赖关系信息sql如下[打开注释部分的sql是查找最源头锁的thread_id线程id及关系]      SELECT distinct b.trx_id blocking_trx_id,