目录
UML例图
注:该例图来自《大话设计模式》
类图分为三层。
第一层显示类的名称,用斜体表示抽象类;
第二层是类的特性,也就是我们平时所说的字段和属性;
第三层是类的操作,是方法或者行为。
注:符号“+”表示为public,"-"表示private,"#"表示protected。
继承
指的是一个类继承另外的一个类的功能,也就是说在创建一个新的类时,不需要再创建新的数据成员和成员函数,只要指定新建的类继承一个已有的类的成员。另外,新建的类可以增加自己的新功能。
在上图所示中,动物、鸟、鸭、唐老鸭之间都存在继承关系。
表示:用“空心三角形+实线”表示,子类指向父类。
实现
指一个类完成一个接口功能。
在上图所示中,大雁实现了飞翔的接口。
表示:用“空心三角形+虚线”,类指向实现接口。
关联
是一种拥有的关系,是类A知道类B的属性和方法。
科学家表示:企鹅有能力在数万年到数百万年的时间尺度上适应不断变化的气候,但我们现在正面临着前所未有的全球变暖速度。
企鹅会要去不断地适应气候,所以它需要了解气候的变化。
在上图所示中,企鹅了解气候,可以用关联表示。
表示:用“实线+箭头”,箭头指向被了解者。
聚合
聚合表示一种弱拥有关系,体现的是A对象可以包含另B对象,但B对象不是A对象的一部分,体现的是部分与整体,生命周期可以不同。
在上图所示中,大雁和雁群符合。
表示:用“空心菱形+实线”,菱形指向整体。
合成
强拥有关系,体现的是部分与整体,生命周期相同。
在上图所示中,鸟和翅膀符合。
连线的两端有数字1和2,表示一个鸟有两个翅膀,数字表示的是一个类可以有几个实例。
表示“实心菱形+实线箭头”,菱形指向整体。
依赖
表示类A的实现需要类B
动物生存需要氧气和水,所以他们就是依赖关系。
表示:“虚线+箭头”,指向被依赖者。