设计模式学习之UML结构类图的相关知识点

本文详细介绍了UML类图的基本表达、结构、接口和抽象类的画法,以及关联、泛化、实现和依赖关系的概念。通过实例解析,帮助读者理解类图在软件设计中的应用。

1.类图(class)的基本表达和结构

双击属性名称出现一个提示,点击左侧的提示,有+ public,- private,#protected,~pakage几种选项可用

如果是static的属性或者方法,可以在右侧选中属性或者方法名,在下面勾选isStatic就可以看到在对应的属性或者方法名下面多了一条横线

如果是抽象类或者抽象方法,可以在右侧选中类名或者方法名,勾选下面的isAbstract,就可以看到对应的类名或者方法名倾斜了

2.接口或者抽象类的画法

添加接口方法如下:

如果想给接口方法添加参数,选中那个方法,在add选项中可以添加参数

3.关系

关联关系(Association)

关联关系用于描述类和类的连接,一般是双向的,关联的双方都能和对方通信(也有单联关系),关联可以分为普通关联,递归关联,限定关联或者关联,有序关联,三元关联和聚合等。常用的有普通关联,递归关联和聚合三种

3.1普通关联(拥有和属于)

这是拥有和属于的关联关系,上面标识的是从人到计算机的关联,这个关联是由人发起的,而且标识的是人可以拥有多台计算机。下面标识的是由计算机发起的关联关系。这个类似于Directed Association的关系

3.2递归关联

描述的是一个类与它本身有关联关系,也就是递归关联

递归关联一般都是一对多的关系,注意,这里使用Directed Association是不行的,必须要使用Association才能关联

3.3聚合关联

如上图所示,聚合关联一般是整体和部分之间的关系,其中聚合关联又分为三种:普通聚合,共享聚合和复合聚合(也叫组成)

普通聚合:描述的是类与类之间具有整体与部分的关系,比如班级和学生,班级是整体,学生是组成班级的部分,也就是如上图所示

共享聚合:在聚合关系中,处于部分的对象参与了多个整体方对象的构成,则是共享聚合。 比如学习兴趣小组和学生,学习兴趣小组是整体,学生可以是组成兴趣小组的部分,但是一个学生可以参与多个学习兴趣小组,一个小组有多个学生。

复合聚合:如果构成整体的的部分,完全隶属于整体类,那么这样的聚合成为复合聚合,也叫组成。

如一个图形界面和组成这个图形界面的元素,如按钮,文本框等图形组件,图形界面是整体,各个图形组件是组成界面的部分。

复合聚合中,如果整体对象不存在,那么部分对象也就没有存在的意义,整体和部分具有非常强烈的包含关系。

4.泛化

泛化又叫继承,描述的是一个元素的所有信息能被另一个具体元素继承的机制。继承某个类的类除了拥有自己的属性和方法外,还可以拥有被继承类中的信息。

例如:动物类Animal,有一个age属性,和一个eat方法,它的子类dog,不仅拥有age和eat,还可以拥有自己的属性color,方法run

5.实现关系

描述的是类实现和接口的关系,说白了就是协议和遵从协议的类之间的关系

6.依赖关系

如果某个对象的行为和实现,需要受到另外对象的影响,那么它就依赖于这个对象。最常用的依赖关系是使用,如果A类中使用了B类,那么A就依赖B,简单点说就是在一个A类中导入了B类的头文件,则说A依赖于B。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值