对象是系统中用来描述客观事物的一个实体,它由对象标识(名称)、属性(状态、数据、成员变量)和服务(操作、行为、方法)三个要素组成,它们被封装为一个整体,以接口的形式对外提供服务。
而类则是对具有相同属性和服务的一个或一组对象的抽象。类与对象是抽象描述和具体实例的关系,一个具体的对象被称为类的一个实例。在系统设计过程中,类可以分为三种类型,分别是实体类、边界类和控制类。
目录:
- 一、类图简单介绍
- 二、有哪些组成元素
- 三、找个样例看一看
- 四、我们也来动动手
一、类图简单介绍
在软件工程中,类图 (Class Diagram) 是面向对象系统建模中最常用和最重要的图,是一种静态的结构图,描述了系统内部类的集合、类的属性、类的方法和类之间的关系,可以简化了人们对系统的理解。同时,类图是系统分析和设计阶段的重要产物,是系统编码和测试的重要模型。
二、有哪些组成元素
1、在 UML 中,类的可视化表示为一个划分成三个格子的长方形(下面两个格子可省略),如下图,介绍了如何描述一个类。
2、在画类图的时候,重点是要捋清楚类之间的关系。如下图,介绍了六种类之间的关系。
- 虚线箭头指向依赖;
- 实线箭头指向关联;
- 虚线三角指向接口;
- 实线三角指向父类;
- 空心菱形能分离而独立存在,是聚合;
- 实心菱形紧密关联不可分,是组合;
3、泛化和实现都好理解,重点再介绍一下:聚合、组合、关联之间的区别。
三、找个样例来看看
1、如下图,描述了动物之间的类图,画得比较简单
- 鸟和动物之间为泛化(继承)的关系,大雁、鸭、企鹅和鸟之间也类似
- 大雁实现了飞翔接口 << interface >> 的具体逻辑,属于实现关系
- 动物执行新陈代谢方法时,需要空气和水,属于依赖关系
- 鸟跟翅膀属于组合关系,翅膀不能单独存在,箭头一般不用画
- 大雁和雁群属于聚合关系,大雁可以单独存在,箭头一般不用画
- 气候对企鹅有影响,企鹅“知道”气候,气候“不知道”企鹅,属于关联关系
2、下图就更简单些,省略掉了属性和方法,只保留类名
- 车的类图结构为 <<abstract>>,表示车是一个抽象类
- 它有两个继承类:小汽车和自行车;它们之间的关系为实现关系
- 小汽车为与SUV之间也是继承关系,它们之间的关系为泛化关系
- 小汽车与发动机之间是组合关系
- 学生与班级之间是聚合关系
- 学生与身份证之间为关联关系
- 学生上学需要用到自行车,与自行车是一种依赖关系
四、我们也来动动手
场景:有公司、部门、员工、文件、打印机,通过类图描述他们之间的关系
- 他们之间的关系参考连接线的文字
- 有些时候可以适当添加一些注释,紧跟在类名、属性名、方法名之后,更容易理解
- 如何去修改 draw.io 的线和箭头的样式,可以参考下图进行调整
写在最后:
我比较喜欢的两款绘图工具:draw.io 和 visio,风格比较现代化,相信你们如果用过也会喜欢的,关于他们的介绍和使用就不多说了,大家可以自行网上搜一搜,下一篇我将介绍如何用 draw.io 画 E-R 图。
感谢您能看到这里,如果对您有帮助,可以在右上角关注一下,后续会分享更多有意思的内容
本文暂时没有评论,来添加一个吧(●'◡'●)