一起来学UML(2)——类图和泛化

UML中包括类图(Class Diagram)、状态图(Statechart Diagram)、用例图(Case Diagram)、对象图(Object Diagram)、构件图(Component Diagram)、序列图(Sequence Diagram)等。我们将介绍常用的几种图。本节介绍类图。

类包括属性和方法,属性和方法具有public、protected、private访问属性,同时还有类和接口之分。下面,我们先看类。

一起来学UML(2)——类图和泛化_第1张图片

 我们通过Umbrello创建一个接口(interface)Shape(形状),即没有实现任何方法的类,其中我们添加了一个public方法setLength,创建该方法的时候选择“Abstract Operation”,接口中中最多有public static的成员变量。

然后创建一个名为Rec的类(长方形),有两个成员变量,length和width,都为私有。依次添加三个函数:public的setLength(参数为输入[in]参数)、private的adjustPosition(参数即为输入也为输出[in/out])、protected的getColor(参数为输出[out]参数)。

然后再创建一个名为BigRec的类(大型的长方形)。

为了显示所有内容,在类的右键属性->显示中把"Public Only"复选框去掉。

使用“Implements”箭头来连接Rec和Shape,以及连接BigRec和Rec。尽管采用同一个箭头进行连接,但是上边自动为虚线,下边自动为实现。下面逐项进行说明。

1. 接口名称为斜体,普通类为非斜体

2. 成员变量和成员函数分别组织在一起

3. public属性为+;private属性为-;protected属性为#

4. 输入参数不进行标识;输出参数表示为out;输入输出参数表示为inout

5. 未实现(抽象函数)的函数为斜体

6. 三角形虚线为实现,既一个类实现一个接口(Rec实现Shape);三角形实线为泛化,即一个类继承另一个类(BigRec继承Rec)

7. 类图由类名、属性、方法组成

可以生成相应的代码来具体进行分析。

一起来学UML(1)——UML建模工具Umbrello初体验

一起来学UML(2)——类图和泛化

一起来学UML(3)——类间的依赖、关联、聚合、组合关系

一起来学UML(4)——类图中的多重性(Multiplicity)

一起来学UML(5)——用例图

你可能感兴趣的:(uml,interface,object,class,工具,UML)