UML基础

本教程参考“大话设计模式”,作者:程杰

UML基础_第1张图片

 

下面我们来详细分解:

动物矩形框:代表一个类Class,类图分为三层:

第一层,显示类的名称,如果是抽象类,则就用斜体显示。

第二层是类的特性,通常就是字段和属性。

第三层是类的操作,通常是行为。注意前面的符号,‘+’表示public,-’表示private,#’表示protected

 

UML基础_第2张图片

接口表示:

飞翔名称矩形框表示一个接口图,与类图的区别主要是顶端的<<interface>>显示。

第一行是接口名称,第二行是接口方法(飞()就是接口方法)。

接口还有另一种表示方法,俗称棒棒糖表示法,就是唐老鸭类实现了‘讲人话’的接口。

在类中表示:

interface IFly

{

void Fly();

}

继承表示:

继承关系用空心三角形+实线来表示(鸟继承于动物),简单记法:(实线空三角)我指向于你==>我继承你

类中表示(:冒号代表继承,brid继承于Animal):

pubic class bird:Animal

UML基础_第3张图片

实现表示:

接口或是抽象类的实现:用空心三角形+虚线来表示(大雁实现飞翔的接口):简单记法:(虚线空三角)我指向你,我实现你。

类中表示:(:冒号,冒号后面跟的是普通类读成“继承”,冒号后面跟的是抽象类或是接口读作“实现”,冒号双重功能,继承与实现)

pubic class bird:Animal

关联关系表示:

关联关系:当一个类‘知道’另一类时,可以用关联关系。在类中表示为引用关系

关联关系用实线箭头表示.

简单记法:一条实线绑定我和你,我和你有亲密关系啦大笑

在类中表示

class Penguin

{

private Climate climate;//在企鹅类Pengun中,引用到气候Climate对象

}

 

 

聚合关系表示:

聚合关系:大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁,它们之间就满足聚合(Aggregation)关系。

聚合表示一种弱的'拥有'关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分

(雁群可以包含大雁,但是大雁并不是雁群的不可分割的一部分,是一种弱的拥有关系)。

聚合关系用空心的菱形◇+实线来表示

简单记法:菱形表示多,空心表示弱的关系,空心菱形聚合弱关系。

类中表示:

class WideGooseAggregate

{

private WideGoose[] arrayWideGoose;//在雁群WideGooseAggregate类中,有大雁数组对象arrayWideGoose;

或者:

private List<WideGoose> wideGooses;//在大雁WideGooseAggregate类中,有大雁集合对象

}

UML基础_第4张图片

合成(组合)关系:

合成关系:也称组合关系,是一种强‘拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。

在这里鸟和其翅膀就是合成(组合)关系,因为它们是部分和整体的关系,它们之间是不能单独存在的,它们的生命周期是相同的。

合成关系用实心的菱形+实线来表示。

简单记法:实心即强拥有。实心菱形不可分(合成,组合)

类中表示:

class Brid

{

private Wing wing;

public Brid()

{

wing=new Wing();

}

}

 

UML基础_第5张图片

依赖关系:

依赖关系:动物特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气和水以及食物等。

也就是说,动物依赖于氧气和水。他们之间的依赖关系(Dependency),用虚线箭头来表示。

简单记法:虽说你是虚(虚线)的,但是缺了你,我活不成。

类中表示:(表现在参数传递上):

abstract class Animal

{

public Metabolism(Oxygen,Water water)

{

}

}

 

编程是一门技术,更是一门艺术,不能只满足于写完代码运行结果正确就完事,时常考虑如何让代码更加简练,更加容易维护,容易扩展和复用,只有这样才可以真正得到提高。写出优雅的代码是一件很爽的事情。

 

UML基础到这里结束,本教程如有不当之处,还望指出。

原文地址:http://blog.csdn.net/shiyuan17/article/details/9044971


你可能感兴趣的:(UML基础)