类图
概念
类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。
类的表示
- 类名:图正中间的黑体字表示类的名称,如果是名字的字体是斜体字,则表明该类是抽象类;
- 属性:类名下面的区域表示类的属性;
- 操作:属性下面的区域表示类的操作(或者说方法);
- 可见性:属性和操作前面的+、-、#符号代表了这些对象的可见性分别是public、private、protected。
接口的表示
- 接口的图和类图类似,只不过加入了interface标识;接口中的成员可见性都是public 。
类的六种关系
- 泛化关系(继承)
在UML中泛化关系用来表示类与类,接口与接口之间的继承关系;
在UML中泛化关系用一条实线加空心箭头由子类指向父类来表示。
- 实现关系
在UML中实现关系用来百事类与接口之间的实现关系;
在UML中实现关系用一条虚线空心箭头由子类指向父类(在StarUML中由一个圆圈与一条实现相连)。
![]()
- 依赖关系
在UML中依赖关系表示一个类是另外一个类的函数参数或返回值;
在UML中依赖关系用一条虚线加箭头有调用者指向被调用者。
- 关联
在UML中关联关系表示一个类是另一个类的成员变量;
在UML中关联关系用一条实现和一个箭头表示。
- 组合关系
在UML中组合关系表示生命体整体和部分的关系(如:人和五脏六腑)。
在UML中用一个实心菱形和一条实现表示。
- 聚合关系
在UML中表示整体和部分的关系(如:汽车可以选择各个型号的发动机);
在UML中用一个空心菱形、一条实线以及一个头表示(在StarUML中由一个空心菱形与一条实现相连)。
练习
1.根据题目要求给出系统的UML类图设设计方案。
系统名称:农夫的果园
人物角色:农夫(Farmer)、市场调查员(Inquirer)、农场主(Boss)
系统实物:各种果树(Fruit)、果园(Garden)
功能需求:
(1)农夫可以根据市场行情种植各种水果;
(2)市场调查员可以了解市场行情;
(3)农场主可以向农夫和市场调查员发布命令;
(4)各种果树都具有种植(Plant)、成长(Grow)、收获(Harvest)行为;
(5)果园是人物和实物进行交易的经营场所。