二、《重学设计模式》-UML类图

UML类图常用的6种关系

  • 依赖
  • 泛化(继承)
  • 实现
  • 关联
  • 聚合
  • 组合
类图常用表示图

依赖、泛化、实现都是从 依赖谁、继承谁、实现谁,箭头就指向谁

组合和聚合 都是从部分指向整体,菱形都指向整体

关联都是谁关联谁,箭头就指向谁

依赖(虚线实心箭头)

类中使用到对方,例如成员属性,方法参数或者返回值,局部变量

泛化(实现空心箭头)

泛化就是继承,如果B类继承了A类,那么可以说AB类存在泛化关系

实现(虚线空心箭头)

类B实现了接口A , 那么就可以说B实现了A

关联

一对一关联 :一个人只能一个默认收货地址

多对多关联:一个学生有多个老师,一个老师有多个学生

自关联:树形结构

java 复制代码
Tree{
    T value;
    Tree nextNode;
}

聚合(实现空心菱形)

实现部分和整体的关系,但是部分与整体是可拆分状态

例如:台式机包含机箱、显示器、鼠标、键盘,如果没有显示器,也可以通过远程登录的方式进行访问,所以显示器和台式机的关系就是聚合关系

组合(实线实心菱形)

实现部分与整体的关系,但是部分与整体不可拆分

例如:每个人都有身份证,每个人也都有头,但是人可以丢身份证,但是人不可以丢脑袋,所以身份证和人的关系是聚合,脑袋和人的关系就是组合

相关推荐
workflower14 小时前
情境感知系统
人工智能·机器学习·设计模式·自然语言处理·机器人
咖啡八杯15 小时前
设计模式中的原则
设计模式·接口隔离原则·里氏替换原则·开闭原则·合成复用原则·单一职责原则
2401_8685347817 小时前
UML建模与面向对象分析
uml
安冬的码畜日常17 小时前
【工欲善其事】深入理解 Node.js 带并发上限的异步任务批量执行逻辑
javascript·设计模式·node.js·ai编程·异步编程·并发执行
AI大法师1 天前
一个机场如何被做成 IP 场景:宝可梦机场的设计方法总结
大数据·人工智能·设计模式·新媒体运营
晚安code1 天前
干掉成山的 if-else:工厂造、策略选,一文讲透两个模式的配合
后端·设计模式
workflower2 天前
从幻觉,到现实
人工智能·深度学习·机器学习·设计模式·机器人
电子科技圈2 天前
第二代无线平台历久弥新,赋能物联网创新迭代
人工智能·嵌入式硬件·mcu·物联网·设计模式·硬件架构·iot
choumin2 天前
创建型模式——工厂方法模式
c++·设计模式·工厂方法模式·创建型模式
choumin2 天前
创建型模式——原型模式
c++·设计模式·原型模式·创建型模式