UML类图

这里直接引用《大话设计模式》的UML类图讲解,有删节

UML类图图示样例

UML类图图示样例

首先看“动物”矩形框,它代表一个类。类图分三层,第一层显示类名称,如果是抽象类,就用斜体显示。第二层是字段或属性。第三层是方法或行为。注意前面的符号,"+" 表示 public,"-" 表示 private,"#" 表示 protected。

动物类

注意左下角的”飞翔“,它表示一个接口图,与类图的区别主要是顶端有<< interface>>显示。第一行是接口名称,第二行是接口方法。接口还有另一种表示方法,俗称棒棒糖表示法,就是正下方”讲人话“这个接口。

接口

像动物跟鸟之间用空心三角形+实线表示继承关系。

继承
class Bird extends Animal {

}

大雁实现了飞翔接口,使用空心三角形+虚线表示。

实现接口
class WideGoose implements IFly {

}

企鹅了解气候,当一个类”知道“另一个类时,可以用关联(Association)。关联关系用实线箭头表示。

关联
class Penguin extends Bird {
    private Climate climate;
}

再看大雁和雁群这两个类,大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁。所以它们之间满足聚合(Aggregation)关系。聚合表示一种弱”拥有“关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心的菱形+实线箭头表示。

聚合
class WideGooseAggregate {
    private WideGoose[] arrayWideGoose;
}

合成(Composition,也译为”组合“)是一种强的”拥有“关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。这里鸟和翅膀就是组合关系。合成关系用实心菱形+实线箭头表示。另外,合成关系的连线两端还有数字”1“和数字”2“,这被称为基数。表明这一端的类可以有几个实例,很显然,一个鸟应该有两只翅膀。如果一个类可能有无数个实例,就用”n“表示。关联关系、聚合关系也可以有基数的。

组合
class Bird {
    private Wing wing;
    public Bird() {
        wing = new Wing();
    }
}

动物依赖于氧气和水。它们之间是依赖关系(Dependency),用虚线箭头表示。

依赖
abstract class Animal {
    void Metabolism (Oxygen oxygen, Water water) {
    
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • UML类图用来定义系统中的类,包括描述类的结构和类之间的关系。类图的主要作用于描述系统的静态结构。先看一张图(图片...
    Josaber阅读 6,146评论 0 5
  • 先上一张图: 概述 类图(Class Diagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。...
    seay阅读 1,522评论 2 3
  • 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Di...
    雷雷_zll阅读 13,382评论 0 14
  • 同理,第一层是接口名称,第二层是接口的方法。注意事项:接口还有一种表示方式: 企鹅和气候有关联,企鹅需要知道气候的...
    仁昌居士阅读 912评论 0 1
  • 忘记了uml类图连线之间的关系,记录一下。 1. 关联关系 关联(Association)关系是类与类之间最常用的...
    cutieagain阅读 1,909评论 0 2