学习使用UML类图

前言

UML在学习设计模式中是必不可少的建模图,建模语言,
在UML系统开发中有三个主要的模型:
功能模型
从用户的角度展示系统的功能,包括用例图。
对象模型
采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。
动态模型
展现系统的内部行为。 包括序列图、活动图、状态图。
UML可以百度有很多解释,
这里主要是写关于UML类图的用法

一、类的基本结构

类分三层:
第一层是类名称
第二层是字段和属性
第三层是是类的操作(方法行为)
+表示公有
-表私有 #表示被保护类型
这里也包括抽象类(用粗斜体表示),但是有些书上并不会用,,都用粗体表示

接口分两层:
第一层是接口名<< interface >> 或者棒棒糖表示
第二层就是抽象方法了

:冒号在字段后面里表示是什么数据类型 如 : in (整形)t :string(字符串类型)
在方法后面表示返回值类型 : void (无返回值) :int (返回整形)

但是有时候并不确定的时候也不是要非写不可。
因为如果用名称也可以表示清楚(可以看懂)是什么类型的话,偷懒不写也可以?
方法里的参数也是可以省略,因为方法一多写起来会很乱,反而少写看起来更整洁?
主要还是要写什么访问修饰符 + - #

二、类与类的关系

  • 继承关系

    继承关系用实线和空心三角形表示

    A指向B 就表示A继承B

  • 继承接口

    继承接口关系用虚线和空心三角形表示
    A指向B 就表示A继承接口B


三、下面是较难理解的类与类之间的关系

理解类之间的关系是非常重要的
也是本篇主要重点要讲的,一定要想明白,想清楚。

3.1 关联关系

关联模式用 实线 加 大于符号表示 ->
A指向B 表示A类对象使用了B这个类对象
关联关系

3.2 聚合关系

聚合关系用 空心的菱形◇ + 实线- + 箭头>表示

A指向B表示 A◇-> B
表示:A拥有多个B对象,但是B是一个单独的对象,是一种弱的拥有关系,B类对象可以脱离A类对象单独使用
说白了就是 A类有一个B类型的容器,
聚合关系
聚合关系2

3.3 合成(组合关系)

组合关系使用 实心的菱形◇ + 实线- + 箭头>表示
和聚合关系类似,不同的是组合关系是一种较强的拥有关系,关系严格,部分和整体的关系
A指向B
表示 B是A的一部分,生成A类对象就一定要生成B类对象

组合关系

3.4 依赖关系

依赖关系使用 虚线— + 箭头>表示
A 指向 B 表示 表示A类的函数(形参)有B类对象,即A函数依赖B对象,A和B之间就是依赖关系
依赖关系1
依赖关系2

总结

复习了一遍,发现UML类图是挺简单的,也就是要明白
类图的基本表示方法
类图的3个继承关系(某类 继承父类、抽象类、接口)
类图的4个使用关系 (

关联关系:类类型字段:某类使用单个对象,
聚合关系:类类型数组:使用多个同类对象(容器)(误),也可是使用了某个对象,但是需要通过方法获取堆地址(不用初始化new)。
组合关系:构造函数:构造函数里必须使用(初始化)某个类对象,
依赖关系:函数:函数里使用多种多个不同对象)

不知道这样总结是否正确,以后学的时候有新领悟再修改
就像《大话设计模式》说的UML类图不是一学就会,而是一个慢慢熟练的过程。

本篇文章是根据《大话设计模式》来写,图也截自《大话设计模式》,是我在学设计模式UML类图的一些理解

猜你喜欢

转载自blog.csdn.net/liaoshengg/article/details/81153980