通俗易懂的UML类图

发布时间:2022-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了通俗易懂的UML类图脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

目录
  • 背景
  • 基础定义
  • UML类的基本认识
  • 继承
  • 关联
  • 聚合
  • 组合
  • 依赖
  • 总结

背景

小明去动物园看动物,来简述整个UML的认知过程

基础定义

​ 根据上面事实,我们将了解UML类途中的几种关系:InherITance (继承) ,Realization(实现),Association(关联),Aggregation(聚合),Composition(组合),DePEndency(依赖)

UML类的基本认识

开始之前我们先认识下UML类的基本特征

通俗易懂的UML类图

对于属性和方法前面的修饰符 - + 等,具体是一下含义

  • - PRivate 任何其他类和子类都不可访问
  • + public 可以被任何类进行访问
  • #protected 相同类或其子类存取
  • ~ package/default 同一个包中

继承

有了上面对类的基本理解,我们再看下不同实体之间的关系。

Inheritance 继承关系

  • 作用:它指定了子类如何特化父类的所有特征和行为,例如:老虎是动物的一种

  • 箭头指向:带三角箭头的实线,箭头指向父类,符号用下面的表示

    假设动物园有花豹、老虎、长颈鹿,分别对应Leopard、 Tiger、 Giraffe,他们有自己的名字、编号、年龄已经他们都可以东西,可以抽象为三个实体类

    通俗易懂的UML类图

    三个实体我们可以抽出一个共用的Animal父类,三个子类分别继承 name id age.. 属性和方法,可以用UML继承关系表示,如下

    通俗易懂的UML类图

    另外,对于抽象类,我们可以类名变斜体Animal或者类名加 <>

    通俗易懂的UML类图

关联

Association 关联关系

  • 关联关系:关联关系比较简单,比如东北虎会捕食野猪作为食物,那么老虎和野猪就是关联关系

  • 箭头指向:关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,带普通箭头的实心线,指向被拥有者

    通俗易懂的UML类图

聚合

Aggregation 聚合关系

  • 作用:是整体与部分的关系,并且部分可以存在于整体之外,如一群乌龟和一只乌龟之间的关系

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

    比如动物园中的一群乌龟,我们可以定义为Creep类,他与乌龟有关系,并且仍然可以独立存在

    通俗易懂的UML类图

组合

Composition 组合关系

  • 组合关系:是整体与部分的关系,但是他是比聚合关系还要强的关系,要求普通聚合关系的整体部分的声明周期代表部分的生命周期

  • 箭头与方向:带实心菱形的实线,菱形指向整体

    比如动物园的 Visitor center访客中心),会有 Lobby (大厅) 和 Bathroom (厕所), Lobby 以及 Bathroom 与 VC之间就是组合关系,现实世界里,Lobby不可能脱离VC单独存在,Bathroom也不可能脱离VC单独存在

    通俗易懂的UML类图

    另外,VC和lobby之间,VC和bathroom之间在数量级上,也有对应的一对一、一对多等关系。

    eg:

    1. 0..1 zero to one
    2. n specific number
    3. 0..* zero to many
    4. 1..* one to many
    5. m..n specific number range

    因此,一个VC中对应一个lobby,对应至少一个bathroom

依赖

Dependency 依赖关系

  • 依赖关系:是一种使用关系,尽量不要使用双向依赖

  • 箭头与方向:带箭头的虚线,指向被使用者

    zookeeper (动物管理员) 使用computer(计算机)系统管理每个屋子的温度

    通俗易懂的UML类图

总结

总结以上的关系强度 继承>组合>聚合>关联>依赖,我们可以看下全部的关系图。

通俗易懂的UML类图

脚本宝典总结

以上是脚本宝典为你收集整理的通俗易懂的UML类图全部内容,希望文章能够帮你解决通俗易懂的UML类图所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。