专栏首页WebJ2EEOO:UML类图、六大关系

OO:UML类图、六大关系

六大关系:

泛化(Generalization) 实现(Realization) 关联(Association) 聚合(Aggregation) 组合(Composition) 依赖(Dependency)

符号表示:

概念解释:

总的来说,存在三种基本类型的类关系:

“特殊/一般” 关系,表示“是一种”关系。 “整体/部分” 关系,表示“组成部分”关系。 “关联” 关系,表示某种语义上的“依赖”关系。

1. 泛化、实现关系:

泛化关系(Generalization):表示类与类之间、接口与接口之间的继承关系。 实现关系(Realization):是类与接口的关系,表示类是接口所有特征和行为的实现; 扩展:里氏替换原则(LSP);依赖倒置原则(DIP);

2. 组合、聚合关系:

组合关系(Composition):也是整体/部分的关系,整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。 例如:人与人的心脏、公司与部门属于组合关系; 聚合关系(Aggregation):表示整体/部分的关系,整体与部分是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。 例如:房屋与空调、狼群与狼属于聚合关系;

3. 关联、依赖关系:

依赖关系(Dependency):表示一种使用与被使用的关系,并且是一种“偶然、临时、短暂”的关系; 例如:人和电脑、汽车和汽油属于依赖关系; 关联关系(Association):他体现的是两个类之间语义级别的一种强依赖关系;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的 例如:老师与学生、学生与课程间属于关联关系;

强弱顺序:

泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

综合示例:

参考:

《敏捷软件开发 原则、模式与实践》 《面向对象分析与设计》 https://www.processon.com/

本文分享自微信公众号 - WebJ2EE(WebJ2EE),作者:WEBJ2EE

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【前端】:属性选择器

    The original Bootstrap markup is heavily convention-based: all buttons require a...

    WEBJ2EE
  • 【前端】:浏览器渲染模式

    在很久以前的网络上,页面通常有两种版本:为网景(Netscape)的 Navigator准备的版本以及为微软(Microsoft)的 Internet Expl...

    WEBJ2EE
  • 【前端笔试系列】:0x01

    WEBJ2EE
  • 看懂UML类图和时序图

    这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系;能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对日常的工作和交流;同时,我们应...

    用户7656790
  • UML类图的学习笔记

    用户1203875
  • UML类图符号:各种关系说明以及举例

    UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composit...

    java乐园
  • 总结Java类关系

    关系是指事物之间存在单向或双向的作用或者影响的状态。其中类与类之间要么有关系要么没关系,感觉这句话有点说的很无耻,谁都知道,但是其中奥妙在于很难确定类与类之间是...

    田维常
  • 关系抽取论文整理,核方法、远程监督的重点都在这里

    笔记中一部分来自个人解读,一部分来自原文,一部分来自网上摘录。部分笔记还不够完善,后续补上的话重点应该是这几年的前沿论文。

    AI科技大本营
  • 关系数据库、数据库的设计(数据库学习)

    -|关系的数学定义:域(同类型值集合)、由笛卡儿积(任意域各自相乘)推出关系的定义

    营琪
  • 什么是万倍的软件工程师

    之前网上看到过一些对10倍或者100倍工程师的讨论文章,到底这种工程师存在吗?到底是用什么的标准来衡量这种工程师呢?在软件和互联网行业做了20多年,本文就谈谈本...

    用户5829239

扫码关注云+社区

领取腾讯云代金券