浅谈UML---类图

来源:互联网 发布:5g与广电网络 编辑:程序博客网 时间:2024/05/19 01:12

类图

概念

类图(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)果园是人物和实物进行交易的经营场所。

农夫的果园