设计模式基础——UML类图

一,基本概念

类是对象的集合,封装了对象的属性和方法。类主要有属性(Attribute)和方法(Method)构成,属性代表对象的状态,方法代表对象的操作行为。类图是软件工程的统一建模语言(UML)一种静态结构图,该图描述了类的属性和类之间的关系。
类图是一个分为三个部分的矩形。最上面的部分显示类的名称,中间部分显示类的属性,最下面的部分显示类的操作(方法)。

在属性和方法的前面使用以下字符来表示他们的访问权限

  • “-”:表示private
  • “#”:表示protected
  • “+”:表示public

紧接在属性或方法的参数名称的冒号(:)号之后,显示了属性的类型或方法的参数的类型。方法的返回值类型显示在方法后面的冒号之后。
单个类在类图中表示如下:
这里写图片描述

二,关系图

1,泛化(generalization),表示is-a的关系,是对象耦合最大的一种关系,子类直接继承父类的所有细节。继承关系就是泛化关系。泛化关系用三角箭头和实线表示,箭头指向父亲类。
这里写图片描述
2,实现(Realization)。这个简单就是表示实现和接口之间的关系。关系图用三角箭头和虚线表示,箭头指向接口。
这里写图片描述
3,依赖(Dependency)。依赖关系表示的是一种使用关系,例如:程序员要用电脑编写一个软件,在编写软件的事件中,程序员和电脑就是一种依赖关系——程序员依赖电脑。在代码层面,一般被依赖的类作为函数参数、局部变量。依赖关系用虚线和单向虚线箭头表示,箭头从使用类指向被依赖类。
这里写图片描述
4,关联关系。关联关系是对象间的一种引用关系,通常使用类的属性表达。比较常见的关联关系有两种:聚合关系,组合关系。

4.1,聚合关系,表示has-a的关系,是一种不稳定的包含关系,包含的主体和被包含对象是一种整体和局部的关系;而且通常包含的主体是抽象的,被包含的对象第客观存在的,而且被包含的对象可以独立存在的。比如:家庭和丈夫、妻子、小孩的关系就是一种聚合的关系,“家庭”是一个抽象的概念,而“丈夫、妻子、小孩”是客观存在的实体——人。再比如公司和员工也是一种聚合关系。 在类图使用空心的菱形表示,菱形从局部指向整体。
这里写图片描述
4.2,组合关系,表示contains-a的关系,是一种强烈的包含关系。组合类负责被组合类的生命周期。被组合类不能脱离组合类独立存在。组合类和被组合类通常都是抽象的概念。比如公司和部门的关系、班级和小组的关系等。在类图中使用带实心的菱形表示,菱形指向被组合类。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/sd_zhuzhipeng/article/details/51125434