学习过UML的人都知道,UML之中有九种图和四种关系,今天,我们先来介绍一下这四种关系:

对于我们这些初学者来说,UML之中无非是  关联、依赖、泛化和实现,但是其中,关联和依赖又如何区分?泛化又如何理解?实现有时什么东西呢?

1、 关联关系(Association)

关联关系式一种结构化的关系,是指一种对象和另一种对象有联系。给定关联的两个类,可以从其中的一个     类的对象访问到另一个类的相关对象。关联关系用一条实线表示。

1.1、  聚合关系(Aggregation)

聚合是关联的特例。聚合是表示整体与部分的关系,即has a 关系。聚合关系中的整体和部分是可以分离       的,他们可以具有各自的生命周期,部分可以数据多个整体对象。

1.2、  组合关系(Composition)

组合关系式关联关系的一种特例,他体现的是一种contains a的关系,这种关系比聚合更强。它同样也体现     了整体与部分的关系。此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。

2、 依赖关系(Dependency)

依赖关系式类与类之间的连接,表示一个类依赖于另一个类的定义。其中一个类元素是独立的,另一个类元     素不是独立的,它依赖与独立的那个类。如果独立的类改变,将影响依赖与它的那个类。

3、泛化关系(Generalization)

泛化关系式一个类(子类、子接口)继承另外一个类(父类、父接口)的功能。子类还可以增加自己的新功     能。继承是类与类或者接口与几口之间最常见的关系之一。

4、实现关系(Realization)

实现关系指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关       系。

讲解阶段:

也许有人会问,那你的依赖和关联有区别吗?

就我自己的理解,其实依赖和关联本来是很难区分开的,因为有依赖就肯定有关联,但是,通过 师傅的讲          解,我也总结道,依赖,其实也是一种使用关系,而关联则是一种拥有关系;就像我图中画的,我拥有一台                电脑和一部手机,那,我和电脑手机之间就有关联关系,而如果我运用自己的电脑上网,用自己的手机打电      
         话,那,我和自己的电脑、手机之间就有依赖关系。

那组合和聚合呢?

   
        组合比聚合要强,对于一个整体来说,如果整体和部分之间存在组合关系,那就表明如果整体缺失了该部
分后就不能够独立存在了,就像雨伞,如果没有了伞面就变成了拐棍儿或者其他东西;而如果没有伞柱呢,他
就 变成了一张能当谁的布而已,但又有谁会教他们雨伞呢?
而聚合呢,是指,整体有个部分组成,但是如果缺失了某部分之后,整体照样可以存在(可替换型、分部    
型……),他只是把一类东西放在这,举个例子就是(垃圾场,更着垃圾都有,如果毁灭其中的一种或几种,             那他们照样还是垃圾),同一个道理。

泛化嘛……,在我们这个阶段,简单的来说,可以理解为继承,但是有和继承有不同(具体的还不知道)

暂时到这儿,欲知后事如何,且看下次分解……

UML 之 四种关系的更多相关文章

  1. uml的四种关系

    UML的四种常用关系: 泛化关系.关联关系.实现关系.依赖关系 其中泛化关系是指父类与子类之间的继承关系: 实现关系是指接口与实现类之间的关系: 依赖关系和关联关系的区别如下: 只要存在对象间的交互, ...

  2. UML类图中类与类的四种关系图解

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  3. 【菜鸟也疯狂UML系列】——浅析UML四种关系

    在UML中.关系是很重要的.它抽象出对象之间的联系,让对象构成某个联系起来的结构.以下将简要分析一下UML中的四种关系:关联.依赖,泛化,实现. 一.举例罗列 1.关联(Association) 关联 ...

  4. UML中类图的四种关系及其代码实现

    在uml图中 最复杂的也就是泛化,实现.依赖,关联.这四种关系了,假设弄清了这几种关系那么在理解UML图的时候就会变得轻车熟路了! 假设你对着几种关系一点都不熟悉的话能够看一下uml中的四种关系.这篇 ...

  5. ZT 类与类之间的四种关系

    csdn上一个好贴子:http://bbs.csdn.net/topics/390646332 类与类之间的四种关系1.依赖(Dependency)   类A在类B中作为一个成员函数的参数或者是返回值 ...

  6. UML中的四种关系总结

    UML中的关系主要包含四种:关联关系.依赖关系.泛化关系.实现关系.当中关联关系还包含聚合关系和组合关系. 1. 关联关系(Association) 关联关系式一种结构化的关系,是指一种对象和还有一种 ...

  7. 盘点UML中的四种关系

    生活中,我们既是独立的个体,又通过联系形成各种关系,比方说:朋友.恋人.父子,同学--于是乎,出现了神乎其神的六人定律. 那么在UML中又存在什么样的关系呢?以下我们来梳理一下. 关联(Associa ...

  8. uml的几种关系总结

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

  9. 【转】UML中类与类之间的5种关系表示

    一.继承关系      继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在Java中继承关系通过关键字extends明确标识,在设计时一 ...

随机推荐

  1. ios 关于UIView 的multipleTouchEnabled 和 exclusiveTouch

    做项目时发现,在一个界面上的2个button竟然可以同时点击,依次push进去了2个 controller!我就产生了疑问,一个view的multipleTouchEnabled属性默认是false啊 ...

  2. BM算法和Sunday快速字符串匹配算法

    BM算法研究了很久了,说实话BM算法的资料还是比较少的,之前找了个资料看了,还是觉得有点生涩难懂,找了篇更好的和算法更好的,总算是把BM算法搞懂了. 1977年,Robert S.Boyer和J St ...

  3. js中 map 遍历数组

    map 方法会迭代数组中的每一个元素,并根据回调函数来处理每一个元素,最后返回一个新数组.注意,这个方法不会改变原始数组. 在我们的例子中,回调函数只有一个参数,即数组中元素的值 (val 参数) , ...

  4. ubuntu10.04+win7双系统,重装win7后,恢复grub引导菜单以及命令行引导linux

    我在我的小Y上安装了ubuntu10.04和win7旗舰版的双系统,采用的是grub引导.今天win7不知道哪儿出了问题,windows update更新一直报错,(当然360也是打不上滴)网上查了很 ...

  5. js方法类库封装的简易示例

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></s ...

  6. supersr--addSubview和 insertSubView 区别

    A addSubview B  是将B直接覆盖在A的最上层  例子: [self.view addSubview:scrollView]; A insertSubView B AtIndex:2 是将 ...

  7. 解决eclipse中maven web工程打包成war(发布到tomcar)时lib中没有jar包的解决方法

    可能有两个原因:1.maven中某些jar包下载不下来 从其他地方下载jar文件放到相应maven本地库的.m2里2..classpath文件中缺少(下面代码的作用是制定maven的jar发布路径)& ...

  8. UbuntuLinux安装java

    jdk1.7,jdk1.8详情,参见:http://www.cnblogs.com/a2211009/p/4265225.html

  9. iOS系类教程之用instruments来检验你的app

    比较了好多关于instruments 还是发现老外写的比较牛逼.于是果断翻译过来.有能力的的可以去看英文原版,鼓励大家看原版资料远离二手教程.这里是原文   入门 为了节省大家的时间,提供一个演示的D ...

  10. javascript - 浏览器对象

    Navigator对象 弹出窗口 Cookies Browser Objects 参考手册 参考手册描述了每个对象的属性和方法,并提供了在线实例. Window 对象 Navigator 对象 Scr ...