UML类图

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) {

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值