大话UML中类之间的关系

关于uml的内容在大学的时候学习过,感觉是花拳绣腿的一些知识,想用但是限于自己的认知和经验,实在是很难运用,到了工作的时候,感觉不需要这些工作也照样能做得很出色,过度的自信就这样维持了几年,等到积累了一定的项目经验,对于设计的关注程度也逐渐提升,有时候想表达一些设计的思想,自己DIY的图表可能只有自己能够看懂,看一些设计思想中的图也是似懂非懂,看来刚学外语也是不够的,还得学习UML,无规矩不成方圆嘛,让UML来作为我们设计中的思想转化器。
说起UML中类之间的关系,大体有以下几类
继承关系(Generalization);
实现关系(Realization);
依赖关系(Dependency);
关联关系(Association);
聚合关系(Aggregation);
组合关系(Composition);

个人认为理清这些关系远比学习这些关系的图示更加有用,就不在本文中一个一个画了,在稍后的博文中联系代码做进一步的补充。
继承关系(Generalization) 这个 关系很好理解,也面向对象的三大特性之一。子女继承了父母的面貌和性格特征,我们需要继承老一辈的光荣传统等等都是继承的体现。
实现关系(Realization);   这个关系和多态也很有关系,一龙生九子,九子各不同,这九子各有各的特点,还有大家见面的问候,你好,可以有中文的说法,方言的说法,英文的说法,各种外语的说法等等。
依赖关系(Dependency);  依赖关系也很形象,比如我们的生活需要新鲜的空气 ,安全的食物,这些都是健康生活所依赖的。
关联关系(Association);   这种关系是类之间的关系中最普遍的,比如我们网购,我们作为顾客和订单之间的关系,比如我们 使用的手机拍照功能,手机中的拍照图标和拍照功能之间就是一种关联,一按下去就会关联拍砖功能。
聚合关系(Aggregation);  代表个体/部分的对象则有可能被多个代表整体的对象所共享,而不一定会随着某个代表整体的对象被销毁或破坏而被销毁或破坏,比如电脑由CPU,硬盘,主板等等组成,如果缺了某一个,电脑还是存在的,只是不能用而已。
组合关系(Composition);  在组合关系中,如果代表整体的对象被销毁或破坏,那么代表个体/部分的对象也一定会被销毁或破坏。比如小鸡有两只翅膀,

我们可以通过一个虚拟的例子来说明,请勿对话入座。
介绍认识  
在无意的一个场合,有两个年轻人互相认识了,可能因为在一个班级,可能因为住的比较近,可能因为父母的原因,也可能因为同事朋友的介绍,彼此交换了手机号码,就可以在节假日的时候发个短信互相祝福,这种关系,我们可以理解为关联。

进入热恋
可能在一些了解中,两个人对彼此都有了一些认识,逐渐产生好感,最后超越了革命的友谊,两个人相恋了,短信已经远远不能满足两个人之间彼此的新鲜感和思念,电话粥也每天都煲到手机电池发烫。两个人彼此联系非常密切,我们可以理解为依赖。

幸福家庭
生活总是要继续,两个人的认知有了进一步的升华,于是考虑了今后的人生大事,在突破父母的阻拦,生活的艰辛之后,两个人还是走在了一起,组件了幸福的家庭。孩子也是作为父母恩爱的结晶,作为彼此献给对方的礼物,生活中谁不不能离开谁,家庭的幸福就在这些柴米油盐中慢慢的流逝,谁都有过青春年华,都需要承担起生活的重担,家庭的幸福。这也可以理解为组合,父母孩子,幸福的家庭。

人生方向的选择 
有了孩子,大把大把挥霍的日子就得收敛起来了,安心相夫教子或者在柴米油盐中盘旋,每天都是围绕在孩子这个小宇宙中旋转,限于精力,可能有些家庭选择妻子留下来照顾孩子,由丈夫来工作持家,工作和生活在这个时候就是一种选择,但是这个决定还是得做。
这也是家庭生活中的一个方向选择,不管你做了何种选择,生活还得继续,日子就在这样的日子中一天一天度过。这也可以理解为聚合,工作还是持家,都是我们生活中的一部分。

孩子的教育
总是在很多年前听到好多家长朋友说对于自己的孩子只要他健康快乐就好,其它别无所求,但是等孩子长大了,肯定就不会那么想了,你忍心看着孩子落后在起跑线后,大家都在推崇某种科学的学习方法,各种学习班,你不学上几门?
有时候让孩子去学习这些也是来弥补我们年轻时的遗憾,我们希望孩子能够继承我们的朴实踏实的性格,但是也在冥冥之中希望他们能够更加出人头地,有自己的一片天,看着孩子的成长轨迹,有时候就会联想起自己多少年以前的样子,孩子不光继承了我们  的一些长相和性格特征还需要继承我们精神孜孜不倦的追求。

 让时间说话 
我们曾经在年轻的时候许下各种愿望,在各种场合中做下一些承诺,这些都需要时间来证明,我们所说的一句话一次承诺可能就是一个接口,可能日后的实现就是一个借口,或者付出了百倍的努力付诸实践。让时间来沉淀这些想法,来验证我们对于自己的言行。
这也可以理解为实现吧。

时间: 2024-07-31 19:37:46

大话UML中类之间的关系的相关文章

浅谈UML中类之间的五种关系及其在代码中的表现形式

本文转载:http://www.cnblogs.com/DebugLZQ/archive/2013/05/13/3066715.html 什么是类? 将某类东西归纳在一起,可以成为一个类. 类有很多种提炼角度,需要根据系统地目标.业务的场景,选取合适的角度对事物进行归纳. 什么是类图? 类图可能是UML中使用的最多的一种图. 和其他图一样,类图的基本语法并不复杂,可能一两天就能掌握,但是真正做到灵活的使用类图,可能需呀多年的功力. 类图是锻炼OOA(OO Analysis)和OOD(OO Des

uml类之间的关系

问题描述 组合,聚合,继承,依赖,哪个联系最强?哪个最弱啊???

《C++面向对象高效编程(第2版)》——2.26 UML 中类的关系

2.26 UML 中类的关系 C++面向对象高效编程(第2版)我们感兴趣的是一组类以及这些类之间的关系,而非单个类. 统一建模语言在类之间主要使用两种关系:关联(association)和泛化(generalization)(继承inheritance). 图2-18

Java中类与类之间的关系

Java中类与类之间的关系存在以下关系: 1.泛化(Generalization) 很简单,就是我们常说的继承.是说子类获得父类的功能的同时,还可以扩展自己的功能. 如图: Java代码中表现为:extends和implements 2.依赖(Dependency) 两个相对独立的咚咚(A和B),当A负责构造B时,A与B形成依赖关系,即A使用B. 如图: Java代码中的表现为局部变量,方法的参数,以及对静态方法的调用 3.关联(Association) 两个相对独立的咚咚(A和B),当A对象持

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

类与类之间存在以下关系: 泛化(Generalization) 依赖(Dependency) 关联(Association)   聚合(Aggregation) 一.泛化(Generalization) 定义:表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系.一般化的关系是从子类指向父类的,与继承或实现的方法相反. 具体表现:父类 父类实例 = new 子类() UML图,Animal类与Tiger类,Dog类的泛化关系: 代码表现:  代码如下 复制代码 class A

关于java,类的定义以及类之间的关系

问题描述 关于java,类的定义以及类之间的关系 一个公司需要开发一个能够计算雷达屏幕上两点之间距离的应用程序,将它用于空中交通控制应用的一部分 解决方案 在java中类和类之间的关系基本上有依赖.关联.聚合.组合等 一.继承关系 继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性.在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子

对UML几种对象关系的理解

[关联关系] =================================================================== 关联关系是一种最简单.最抽象的对象间关系描述.它只是描述了对象A于对象B之间存在一种业务上.概念上的逻辑关系,但是关联关系的双方不包含对方的属性. [聚合关系] =================================================================== 聚合关系是一种特殊的关联关系,除了具备关联关系的特性

UML中的依赖关系

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

<十>面向对象分析之UML核心元素之关系

关系        --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构.        一,关联关系(association)         --->关联关系是用一条直线表示的.        --->描述不同类的对象之间的结构关系.它在一段时间内将多个类的实例链接在一起,这与依赖关系是不同的.依赖关系通常表示两个实例之间的临时关联关系.        --->单行关联关系,A知道B的存在,B不知道A的存在.比如UML建模中,参与者知道用例的存在