0%

UML类图

一、类的表示

  1. 类名(上)、属性(中)、方法(下)
    • 接口(上)需要在接口名上标注"<<interface>>"
  2. 属性的表示语法:[可见性]属性名[:类型][=初始值]
  3. 类方法的表示语法:[可见性]操作名[(参数表)][:返回类型]
    • 参数表表示:”名称:类型”,多个参数用逗号隔开,可以有默认值
    • 可见性:”-“表示private;”+”表示public;”#”表示protected

二、类间关系

2.1 泛化关系

  • 表示“一般-具体”关系
  • 高层次的类被称为基类或者超类,具有一般的公共信息
  • 低层次的类被称为派生类或子类,公共信息继承自基类,具体信息可以自定义
  • 如:

    • 交通工具为基类,定义基本功能
    • 汽车等具体交通工具为派生类,自定义其特性
  • 泛化关系的表示:带三角形的实线箭头,箭头指向父类

2.2 关联关系

2.2.1 组合关系

  • 表示“整体-部分”关系
  • 部分==不能==离开整体而单独存在
  • 如:教材 包含 封面、前言、目录等,他们之间是整体与部分的关系
  • 组合关系的表示:实心菱形的实线表示,菱形指向整体

2.2.2 聚合关系

  • 表示“整体-部分”关系
  • 部分==可以==离开整体而存在
  • 如:车 包含 轮胎、引擎等
    • 车胎、引擎等可以不依赖车子而单独存在
  • 聚合关系的表示:空心菱形的实线表示,菱形指向整体

2.2.3 一般关联关系

  • 表示两个类的对象之间可以相互通讯,或者一个对象能够感知另一方
  • 如:朋友关系
  • 一般关联关系的表示:单向或双向,双向关联的箭头可加或不加,线段上的数字表示关联的数量和范围

2.3 依赖关系

  • 表示元素A的变化会影响到元素B,或一个类的实现需要另一个类的协助
  • 如:打电话需要手机
  • 代码上表现为一个类的使用需要另一个类的对象作为参数
  • 依赖关系的表示:带箭头的虚线,箭头指向被依赖方

2.4 实现关系

  • 表示类实现接口的功能
  • 实现关系的表示:带空心箭头的虚线,箭头指向接口