类关系与uml图示表示

Dreaming-in-Gottingen 2021-02-23 原文


类关系与uml图示表示

1. 关联(Association)、聚合(Aggregation)、组合(Composition)区别

association: 两者之间存在某种关联即可,很弱的关系,如student and course, 每个学生可以选不同的课,每门课上有不同学生;
aggregation: “consist of”:整体与部分之间的关系,但这里部分可以脱离整体单独存在,如MP3上所插的耳机,MP3包含耳机,但这个耳机也可以单独存在,或者插在其他电脑上。UML用带空心菱形的直线表示。
composition: 更强的aggregation,这里部分不能脱离整体而存在,这个部分是整体的私有财产,部分与整体具有相同的生命周期。比如Apple Itouch上的电池,原则不能拆下来单独使用。UML用带实心菱形的直线表示。

三者描述对象的附属[也就是依赖]关系: 关联 < 聚合 < 组合,依赖关系是逐渐加强的。

2.依赖(dependency)、泛化(generalization)、实现(realization)

dependency:依赖关系是一种使用关系,特定事物的改变可能会影响到使用该事物的其他事物,在需要表示一个事物使用另外一个事物时使用依赖关系。大多数情况下,体现在某个类的方法使用另外一个类的对象作为参数。UML使用带箭头的虚线,由依赖的一方指向另一方。
generalization:泛化关系也就是继承关系,用于描述父类与子类之间的关系,父类又称为基类或超类,子类又称为派生类。UML中用带空心三角形的直线来表示。
realization:实现关系是类实现了接口,类中的操作实现了接口中所声明的操作。UML中用带空心三角形的虚线表示。

3.继承(inheritance)

inheritance: “a kind of”: 猫是一种动物,说明猫从动物继承;等同于generalization(泛化关系)。

发表于
2021-02-23 21:53 
OnlyTime_唯有时光 
阅读(0
评论(0
编辑 
收藏

 

版权声明:本文为Dreaming-in-Gottingen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Dreaming-in-Gottingen/p/14438418.html

类关系与uml图示表示的更多相关文章

  1. 模板方法模式.

    一、概念 模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变 […]...

  2. 观察者模式 Observer 发布订阅模式 源 监听 行为型 设计模式(二十三)

    观察者模式 Observer 意图 定义对象一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖他的对象 […]...

  3. 大话Java代理模式

    一、什么是代理 首先理解一下什么是代理。简单来说,代理就你要做一件事情,我替你把事情做了。这是现实生活中我们遇 […]...

  4. springboot里面使用断路器

    springboot里面使用断路器 2018-08-25 16:39 by 只喝牛奶的杀手, … […]...

  5. 「补课」进行时:设计模式(1)——人人都能应该懂的单例模式

    1. 引言 最近在看秦小波老师的《设计模式之禅》这本书,里面有句话对我触动挺大的。 设计模式已经诞近 20 年 […]...

  6. 装饰模式(Decorator)

    一、概念:   动态的给一个对象添加一些额外的职责,就增加的功能来说,装饰模式比生成子类更为灵活。【DP】 二 […]...

  7. 设计模式之观察者模式–PHP

    列举一个场景:下班之后回家,打开家门,开始做饭,之后睡觉 以上场景如果按照传统的开始方式就是封装一个用户类,里 […]...

  8. Head First 设计模式 —— 10. 迭代器 (Iterator) 模式

    思考题 public void printMenu() { PancakeHouseMenu pancakeH […]...

随机推荐

  1. 【华为云技术分享】云图说|华为HiLens:端云协同多模态AI开发应用平台

    在场景智能化背景下,端侧自身算力有限、开发技能困难,从云侧下发技能到端侧,端侧兼容性差,部署技能困难。 华为云 […]...

  2. nginx 反向代理 取得真实IP和域名

    一、反向代理配置: 完整配置示例 (/etc/nginx/nginx.conf)     nginx.conf […]...

  3. git常用命令

    git常用命令 一、Git版本控制 SVN:集中式版本控制 Git:分布式版本控制 git官网:https:/ […]...

  4. 关键路径法(Critical Path Method, CPM)

    1、活动节点描述及计算公式 通过分析项目过程中哪个活动序列进度安排的总时差最少来预测项目工期的网络分析。 产生 […]...

  5. MySQL之sql字句

    MySQL之sql子句 一、sql子句    1、作用       <1> select:基本的查 […]...

  6. 最新20款Web设计和开发工具推荐

    在这篇文章中,收集了最新20个Web设计和设计工具推荐给大家,这些工具都是免费的,不需要任何安装和更新的过程, […]...

  7. MariaDB数据库服务后台

    1、初始化mariaDB服务程序: yum install mariadb mariadb-server    […]...

  8. win7 MySQL Connector/Net 安装卸载问题

    问题1:卸载MySQL Connector Net 6.9.9 卸载程序无法卸载 方法:注册表搜索 MySQL […]...

展开目录

目录导航