ZT 类与类之间的四种关系
csdn上一个好贴子:http://bbs.csdn.net/topics/390646332
类与类之间的四种关系
1.依赖(Dependency) 类A在类B中作为一个成员函数的参数或者是返回值 A的析构不在B中
2.关联(Association) 类A在类B中作为一个成员变量 析构不在B中
3.聚合(Aggregation) 类A作为类B中的一个成员变量 析构在B中 可以在B中的任何周期被析构 就像你的头发 你挂了 头发也就不存在了 但是你活着的时候 头发没了 对你没啥影响
聚合是关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于 多个整体对象,也可以为多个整体对象共享。比如计算机与CPU、公司与员工的关系等,比如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇 等。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。在UML类图设计中,聚合关系以空心菱形加实线箭头表示。
4.组合(composition) 类A作为类B中的一个成员变量 只有在B析构的时候才会析构A 就像你的大脑 大脑挂了 你也就挂了 你挂了大脑也挂了
组合关系: 组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此
时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如人和人的大脑。表现在代码层面,和关联关系是一致的,只能从语义级别来区
分。在UML类图设计中,组合关系以实心菱形加实线箭头表示。
耦合度依次增加
1依赖(Dependency)
2关联(Association)
3.聚合(Aggregation):表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分【DPE】
4 组合(composition):是一种强的“拥有”关系,部分和整体是一样的生命周期。
ZT 类与类之间的四种关系的更多相关文章
- Java面向对象--类的对象之间的几种关系详解
转载: https://www.cnblogs.com/supren/p/7853377.html
- UML类图画法及其之间的几种关系(转)
UML类图画法及其之间的几种关系 最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的 ...
- UML类图画法及其之间的几种关系
最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的几种关系:泛化(Generaliz ...
- UML类图中类与类的四种关系图解
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- 【转】UML中类与类之间的5种关系表示
一.继承关系 继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在Java中继承关系通过关键字extends明确标识,在设计时一 ...
- Java类与类之间的6种关系及uml表示
一.继承关系 继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议 ...
- UML 之 四种关系
学习过UML的人都知道,UML之中有九种图和四种关系,今天,我们先来介绍一下这四种关系: 对于我们这些初学者来说,UML之中无非是 关联.依赖.泛化和实现,但是其中,关联和依赖又如何区分?泛化又如何 ...
- 【菜鸟也疯狂UML系列】——浅析UML四种关系
在UML中.关系是很重要的.它抽象出对象之间的联系,让对象构成某个联系起来的结构.以下将简要分析一下UML中的四种关系:关联.依赖,泛化,实现. 一.举例罗列 1.关联(Association) 关联 ...
- UML中的四种关系总结
UML中的关系主要包含四种:关联关系.依赖关系.泛化关系.实现关系.当中关联关系还包含聚合关系和组合关系. 1. 关联关系(Association) 关联关系式一种结构化的关系,是指一种对象和还有一种 ...
随机推荐
- 网站Http升级至Https(基于Tomcat)
由于之前一直忙于服创比赛,然后就导致好久没写博客了. 现在服创结束也有十来天了,感觉不写点什么就对不起自己了. 于是乎,就写写将网站从http升级到https的过程吧. 首先域名和服务器自然是必须的, ...
- MySQL备份和还原数据
MySQL备份和还原数据 导出整个数据库 mysqldump -uroot -p database_name > db_backup.sql 导入整个数据库 mysql -uroot -p da ...
- 线上服务器PHP版本编译安装升级全记录
1.将原来的PHP重命名一下 cd /usr/local/bin/ mv php php.2.9 2.安装依赖 yum install gcc gcc-c++ libxml2 libxml2-deve ...
- net 记录controller Action耗时
可能有些时候需要记录Action的执行时间来优化系统功能,这时可以用过滤器来实现 第1个例子 using System; using System.Diagnostics; using System. ...
- [android] 练习使用ListView(三)
解决OOM和图片乱序问题 package com.android.test; import java.io.InputStream; import java.net.HttpURLConnection ...
- [javaEE] 开源数据库连接池
一些开源组织提供了数据源的独立实现: DBCP数据库连接池 C3P0数据库连接池 Apache Tomcat内置的连接池 DBCP连接池 apache提供的连接池实现,需要导入common-dbcp. ...
- Java 基础(7)——运算符
学完基础的变量常量等知识.再往后和变量常量紧密相关的当然是加减乘除等等运算方法了~(当然加减乘除也只是一部分) 首先按照运算过程参与的元素,把运算符号简单粗暴的分为一元运算符.二元运算符.三元运算符等 ...
- Spring 中任意位置获取 session 和 request
在web.xml中添加监听: <listener> <listener-class>org.springframework.web.context.ContextLoaderL ...
- rpm的参数
rpm 包的参数如下: -e 卸载rpm包 -q 查询已安装的软件信息 -i 安装rpm包 -u 升级rpm包 --replacepkgs 重新安装rpm包 --justdb 升级数据库,不修改文 ...
- Java并发编程:深入剖析ThreadLocal (总结)
ThreadLocal好处 Java并发编程的艺术解释好处是:get和set方法的调用可以不用在同一个方法或者同一个类中. 问答形式总结: 1. ThreadLocal类的作用 ThreadLocal ...