软件工程 uml类图的实战概念

一、什么是UML类图?
UML类图的作用是描述程序中类的信息及各个类之间的关系。

UML类图分三层:

第一层是类名:如果类名用正体书写则说明这是可以实例化的普通类,如果类名用斜体书写,则说明这是抽象类,如果类名有下划线修饰则说明这是静态类;

第二层是类成员变量,格式:修饰符 属性名 :属性类型;

第三层是类成员方法,格式:修饰符 方法名 (参数名:参数类型):方法返回值类型。

其他内容:

修饰符: “+” : public,"-" : private,"#" : protected;

方法名有下划线修饰则说明是静态方法;

如果类图中需要描述类的性质,则放在第四层描述;

如果类内有内部类,则放在第五层描述;

如果类图描述的是一个接口,则接口名的上方需要加上《interface》修饰符,并且该类图仅有两个部分,接口名和接口的方法。

在这里插入图片描述

二、类之间关系
在这里插入图片描述

在这里插入图片描述
类之间的关系有继承、实现、组合、聚合、关联和依赖关系。

1、关联关系
在这里插入图片描述
关联关系:表示一个类的属性保存了对另一个类的一个实例(或多个实例)的引用,关联可以是单向关联,也可以是双向关联;

关联关系是类与类之间最常用的一种关系,表示一类对象与另一类对象之间有联系;

组合、聚合也属于关联关系,只是关联关系的类间关系比其他两种要弱;

例如:汽车和司机,一辆汽车对应特定的司机,一个司机也可以开多辆车。

2、聚合关系
在这里插入图片描述

聚合关系:整体和部分的关系,整体与部分可以分开;

聚合关系也表示类之间整体与部分的关系,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在;

例如:公交车司机和工衣、工帽是整体与部分的关系,但是可以分开,工衣、工帽可以穿在别的司机身上,公交司机也可以穿别的工衣、工帽。

3、组合关系
在这里插入图片描述
组合关系:整体与部分的关系,但是整体与部分不可以分开;

组合关系表示类之间整体与部分的关系,整体和部分有一致的生存期。一旦整体对象不存在,部分对象也将不存在,是同生共死的关系;

例如:人由头部和身体组成,两者不可分割,共同存在。

4、继承关系
在这里插入图片描述
继承关系(泛化关系):用于描述父类与子类之间的关系,父类又称作基类,子类又称作派生类;

继承关系中,子类继承父类的所有功能,父类所具有的属性、方法,子类都有。子类中除了与父类一致的信息以外,还包括额外的信息;

例如:公交车、出租车和小轿车都是汽车,他们都有名称,并且都能在路上行驶。

5、实现关系
在这里插入图片描述

实现关系:主要用来规定接口和实现类的关系;

接口(包括抽象类)是方法的集合,在实现关系中,类实现了接口,类中的方法实现了接口声明的所有方法;

例如:汽车和轮船都是交通工具,而交通工具只是一个可移动工具的抽象概念,船和车实现了具体的功能。

6、依赖关系
在这里插入图片描述
依赖关系:假设A类的变化引起了B类的变化,则说明B类依赖于A类;

大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数;

依赖关系是一种“使用”关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系;

例如:汽车依赖汽油,如果没有汽油,汽车将无法行驶。

三、IS-A、HAS-A、USE-A
IS-A 表示继承,父类与子类,具有较高的耦合度;

HAS-A 表示组合,是整体与部分的关系,同时它们的生命周期相同;

USE-A 表示依赖,表示其中一个拥有另外一个,生命周期不相同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值