首页 > 其他分享 >UML设计模式符号答疑

UML设计模式符号答疑

时间:2022-12-26 10:01:47浏览次数:36  
标签:关系 聚合 泛化 指向 关联 箭头 答疑 UML 设计模式


在UML类图中,常见的有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)

 

1.泛化(Generalization)

【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种.

【箭头指向】:带三角箭头的实线,箭头指向父类

UML设计模式符号答疑_聚合关系

2.实现(Realization)

【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现

【箭头指向】:带三角箭头的虚线,箭头指向接口

UML设计模式符号答疑_关联关系_02

3.关联(Association)

关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子

关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

【代码体现】:成员变量

【箭头及指向】:带普通箭头的实心线,指向被拥有者

 

UML设计模式符号答疑_泛化_03

上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。

 

UML设计模式符号答疑_聚合关系_04

上图为自身关联:

 

4. 聚合(Aggregation)

【聚合关系】:是整体与部分的关系.如车和轮胎是整体和部分的关系.

聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

【代码体现】:成员变量

【箭头及指向】:带空心菱形的实心线,菱形指向整体

 

UML设计模式符号答疑_关联关系_05

 

5. 组合(Composition)

【组合关系】:是整体与部分的关系.,没有公司就不存在部门      组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期

【代码体现】:成员变量

【箭头及指向】:带实心菱形的实线,菱形指向整体

 

UML设计模式符号答疑_泛化_06

 

6.依赖(Dependency)

【依赖关系】:是一种使用的关系,所以要尽量不使用双向的互相依赖。

【代码表现】:局部变量、方法的参数或者对静态方法的调用

【箭头及指向】:带箭头的虚线,指向被使用者

 

 

 

UML设计模式符号答疑_泛化_07

各种关系的强弱顺序:

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

下面这张UML图,比较形象地展示了各种类图关系:

UML设计模式符号答疑_泛化_08

 

标签:关系,聚合,泛化,指向,关联,箭头,答疑,UML,设计模式
From: https://blog.51cto.com/u_11444530/5968605

相关文章

  • 1个月连载30个设计模式真实案例,挑战年薪60W不是梦
    本文所有内容均节选自《设计模式就该这样学》本文自2021年10月29日起持续连载,请大家持续关注....序言DesignPatterns:ElementsofReusableObject-OrientedSoft......
  • 设计模式面试题(总结最全面的面试题!!!)
    Java面试总结汇总,整理了包括Java重点知识,以及常用开源框架,欢迎大家阅读。文章可能有错误的地方,因为个人知识有限,欢迎各位大佬指出!文章持续更新中......ID标题地址......
  • 云渲染哪个平台费用低??云渲染收费答疑!
    Renderbus瑞云渲染小编小瑞今天来给大家分享一下云渲染怎么收费的?云渲染哪个平台费用低?这两个问题。云渲染是怎么收费的?市面上​​云渲染平台大部分都是按渲染时间进行收费......
  • UML中的五种关系
    在实现设计模式之前,首先来复习以下UML中的五种关系图依赖<关联<聚合<组合 <1>依赖依赖关系用虚线加箭头表示,如图所示:上图表示:Animal类依赖于Water类(动物依赖于水)。 依......
  • 设计模式之美--结构型设计模式的区别
    结构型设计模式:主要总结一些类和对象组合在一起的经典结构,这些经典结构去解决特定应用场景的问题。代理模式:用来给原始类附加不想关的其他功能;装饰器模式:适配器模式:桥......
  • 设计模式之美--原型模式
    原型模式:利用对原有对象进行复制拷贝的方式创建对象;浅拷贝只拷贝引用对象的引用地址,不拷贝引用对象本身;实际是操作同一个对象;例如:map的clone方法;深拷贝复制出一个新的......
  • 设计模式之美--建造者模式和工厂模式的区别
    工厂模式用来创建类型不同但相关的对象(继承同一父类或接口的一组子类),有给定的参数来决定创建哪种类型的对象;建造者模式用来创建同一种类型的复杂对象,通过设置不同的可选......
  • 百度工程师教你玩转设计模式(装饰器模式)
    作者|北极星小组想要写好代码,设计模式(DesignPattern)是必不可少的基本功,设计模式是对面向对象设计(ObjectOrientedDesign)中反复出现的一类问题的一种解决方案,本篇介绍装......
  • 设计模式之美--建造者模式
    建造者模式的作用:创建对象;为什么要使用创建者模式来创建对象,普通的new对象不可以吗?如果使用构造器来创建对象,当参数值的数量过多时,代码中的构造器数量和形式较混乱,并且......
  • UML总结----六种关系和九种图的作用
    已经学习了UML,应该对UML有一个大概的认识,下面一张图是我画的一个思维导图。从图上可以看出UML可以大致分为视图、事物、关系以及它的9种图。视图在逻辑视图中:逻辑视图通常由......