UML类图

UML类图_第1张图片
image

以上样例基本包含了UML类图的基本图示法。

  • 类--三层矩形框
    类图分三层,第一层显示类名,若是抽象类,则用斜体显示;第二层是类的特性,通常就是字段和属性;第三层是类的操作,通常是方法或行为。前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。


    UML类图_第2张图片
    image
  • 接口--二层矩形框或棒棒糖表示法

  1. 二层矩形框
    第一层顶端有<>显示,第一层是接口名称,第二层是接口方法。


    UML类图_第3张图片
    image
interface IFly {
    void Fly();
}
  1. 棒棒糖表示法
UML类图_第4张图片
image
interface ILanguage {
    void Speak();
}
  • 继承--空心三角形+实线
UML类图_第5张图片
image
  • 实现接口--空心三角形+虚线


    UML类图_第6张图片
    image
  • 关联(包含,has-a关系)--实线箭头


    UML类图_第7张图片
    image
class Penguin : Bird {    //  Penguin类知道Climate类,用关联
    private Climate climate;   // 包含,has-a
}
  • 聚合--空心菱形+实线箭头
    聚合表示一种弱的拥有关系,体现的是对象A可以包含对象B,但对象B不是对象A的一部分。
    UML类图_第8张图片
    image
class WideGooseAggregate {
    private WideGoose[] arrayWideGoose;   // 数组对象
}
  • 合成(组合)--实心菱形+实线箭头
    合成是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
    连线两端各有一个数字,称为基数,表明这一端的类可以有几个实例,若有无数个实例则用n表示。
    UML类图_第9张图片
    image
class Bird {   // 类Bird与类Wing生命周期相同,是整体与部分的关系,用合成
    private Wing wing;
    public Bird() {
        wing = new Wing();
    }
}
  • 依赖--虚箭头


    UML类图_第10张图片
    image
abstract class Animal {
    public Metabolism(Oxygen oxygen, Water water) {
        ... ...
    }
}

你可能感兴趣的:(UML类图)