UML类图学习

导读:本篇文章讲解 UML类图学习,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

基本概念

类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。它既用于应用程序的系统分类的一般概念建模,也用于详细建模,将模型转换成编程代码。类图也可用于数据建模。

类图的作用

(1):在软件工程中,类图是一种静态的结构图,描述了系统的类的集合,类的属性和类之间的关系,可以简化了人们对系统的理解;
(2):类图是系统分析和设计阶段的重要产物,是系统编码和测试的重要模型。

类的表示方法

类(Class)一般包含3个组成部分。第一个是类名;第二个是属性(attributes);第三个是该类提供的方法( 类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。类名部分是不能省略的,其他组成部分可以省略。类名书写规范:正体字说明类是可被实例化的,斜体字说明类为抽象类。
属性和方法书写规范:

修饰符 [描述信息] 属性、方法名称 [参数] [:返回类型|类型]

属性和方法之前可附加的可见性修饰符:

+表示public
-表示private
#表示protected
~表示default,也就是包权限
_下划线表示static
斜体表示虚函数

在这里插入图片描述

类与类之间的关系

常见的关系有以下几类:

  • 依赖关系
    • 依赖关系Dependency
  • 泛化关系
    • 实现关系Realization/Implementation
    • 继承关系Inheritance
  • 关联关系
    • 关联关系Association
    • 聚合关系Composition
    • 组合关系Aggregation
      在这里插入图片描述
      在这里插入图片描述

依赖关系

依赖关系Dependency

对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务/定义时,这两个对象之间主要体现为依赖关系。例如A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。
示例:
动物依赖氧气和水。调用新陈代谢方法需要氧气类与水类的实例作为参数
在这里插入图片描述

泛化关系

实现关系Realization/Implementation

表示一个class类实现interface接口(可以是多个)的功能。
在这里插入图片描述
在这里插入图片描述

继承关系Inheritance

表示为类与类之间的继承关系,接口与接口之间的继承,并可以增加它自己的新功能。
在这里插入图片描述

关联关系

关联关系Association

类与类之间的联接,它使一个类知道另一个类的属性和方法。
在这里插入图片描述

聚合关系Composition

是强一些的关联关系。聚合关系是整体和个体的关系,但两个对象具有各自的生命周期。
在这里插入图片描述

组合关系Aggregation

是更强的关联关系。组合关系是整体和部分的关系,部分和整体的生命周期一样
在这里插入图片描述

思考及注意点

  1. 依赖关系常用于需要工厂类构建的类;
  2. 继承关系的子类一般不需要列出父类的方法
  3. 实现关系一般用于表示接口,而接口一般就是对应的类中的public方法,所以使用实现关系表示接口只是对这个方法的强调;
  4. 关联关系用于表示比依赖更强的关联性;
  5. 类B作为类A的成员变量,当类A初始化时,类B一定会被初始化,则这两个类是组合关系;当类A初始化时,类B不一定会被初始化,则这两个类是聚合关系;
  6. 各种关系的强弱:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

参考资料

https://www.jianshu.com/p/57620b762160
https://baike.baidu.com/item/%E7%B1%BB%E5%9B%BE/4670826?fr=aladdin

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/100791.html

(0)
小半的头像小半

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!