类名如果是斜体,表示这个类是抽象类。比如动物类。
+表示public -表示private #表示protected
继承关系。鸟跟动物是继承关系。UML类图中使用实线+空心三角表示。
class Bird:Animal
{
}
接口有两种表示方法。一种是虚线+空心三角。一种是棒棒糖表示法。
接口“飞翔”表示法:
interface IFly
{
void Fly();
}
接口“讲人话”表示法:
interface ILanguage
{
void Speak();
}
企鹅跟气候是关联关系,就是企鹅与气候相互独立,不存在包含和被包含的关系,但企鹅的行为受气候的影响,二者间的这种关系叫做关联关系。UML类图中使用带箭头实线表示。
class Penguin:Bird
{
private Climate climate;
}
大雁跟大雁群是聚合关系。聚合关系表示一种弱的“拥有”关系。A对象可以包含B对象,但B对象不是A对象的一部分。在UML类图中使用空心菱形+实体箭头表示。
class WideGooseAggregate //雁群类
{
private WideGoose[] arrayWideGoose; //大雁数组
}
鸟和翅膀是一种合成(或者组合)关系。合成(组合)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。在UML类图中使用实心菱形+实线表示。连线两端有数字,这个数字称为基数。表明这一端的类可以有几个示例。如果一个类有无数个实例,则用n表示。关联关系和聚合关系也可以有基数。
class Bird
{
private Wing wing;
public Bird()
{
wing=new Wing(); //鸟类初始化时生成翅膀,它们之间同时生成,生命周期一样。
}
}
依赖关系。动物依赖水氧气。UML类图中使用虚线表示。
abstract class Animal
{
public Metabolism(Oxygen oxygen,Water water)
{
}
}