UML,即统一建模语言(Unified Modeling Language),是描述软件设计蓝图的语言,UML的作用是体现面向对象分析和设计(OOA/D)。首先它是”可视化语言“就是说它把设计转化成大家都能看懂的东西,建模即建立模型,模型指软件的模型,这里需要注意UML并不是OOA/D,通过OOA/D我们讲将需求转化为软件模型,我们只是利用UML来将OOA/D表示出来,转化成我们能看懂的东西,本篇文章也仅针对小白简单介绍UML类图到底怎么画?
UML类图把面向对象软件设计可视化,就是把对象画出来,然后把对象之间的关系画出来,由此自然就“描述了软件系统的结构”画对象时要反映类的结构,就是要将对象的属性、操作画出来。
接下来我们来看看类图中都有些什么,
类名很简单,就是类的名字,只是注意斜体表示这个类为抽象类。往下属性、操作和职责各占一栏,每个属性占一行,先写这个属性是公开的(public(+))、私密的(private(-))、受到保护的(protected(#))还是包(package(~)),属性后面加上名字,在后面如果有缺省值(缺省值就是有一些参数的值在每次调用函数时都相同,就定义时定下这个值,可以使书写变得简单(在编译时,缺省值有编译器自动插入))就加上。每个操作也占一行开头和属性一样(+-#~)和名字(斜体表示这个操作为抽象操作),然后是在括号中的参数列表,再后” :“后加返回值类型。最后一栏写职责,职责指类承担的责任和义务。在矩形框中最后一栏中写明类的职责。
例:
把对象画出来之后,就要把对象之间的关系画出来
是一种拥有的关系, 它使一个类知道另一个类的属性和方法;是双向的,双向的关联可以有两个箭头或者没有箭头,描述了类的结构之间的关系。具有方向、名字、角色和多重性等信息。一般的关 联关系语义较弱。也有两种语义较强,分别是聚合与组合
箭头及指向:带普通箭头的实心线(也可以没有线),指向双方
是一种拥有的关系, 它使一个类知道另一个类的属性和方法;是单向的。单向的关联有一个箭头。
箭头及指向:单向的关联有一个箭头。
特殊关联关系,指明一个聚集(整体)和组成部分之间的关系,类图包含有事物和关系,类图不存在了,事物和关系还可用于其它的类图
箭头及指向:带空心菱形的实心线,菱形指向整体
语义更强的聚合,部分和整体具有相同的生命周期,类与关联关系之间有组合关系,类不存在了,则相应的关联关系也不存在
箭头及指向:带空心菱形的实心线,菱形指向整体
是一种使用的关系, 即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖.
箭头及指向:带普通箭头的实心线,指向被拥有者
表示一个更泛化的元素和一个更具体的元素之间的关系,现实世界中一般与特殊关系就是最好的表现。平常讲的继承就属于泛化。
箭头及指向:带三角箭头的实线,箭头指向父类
是一种类与接口的关系, 表示类是接口所有特征和行为的实现.,将接口的方法实现。
箭头及指向:带三角箭头的虚线,箭头指向接口