小小飞鹰

     中国人缺少的是步骤,太急。练太极!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[转]Uml类图的一个例子

Posted on 2010-08-20 14:11  小小飞鹰  阅读(1846)  评论(0编辑  收藏  举报

http://www.cnblogs.com/A-I/archive/2010/07/26/1785016.html

Uml类图

 

这是一个简单类图,People我们的类名,Age 是属性,sleep,Drink是两个方法 

 对应C#声明代码如下:

public class People

{

int Age;

public void sleep()

{

}

public string Drink()

{

}

属性或方法前面的"-"表示私有的意思,"+"是公有的意思,"#"是受保护的意思

 

Uml类图中有六种关系,分别是继承,实现,聚合,合成,关联,依赖,如上图所示

下面分别解释一下每种关系的具体含义

继承,表示的类和类之间的关系,上图中:boy继承了people,boy是people的子类,子类可以调用父类除私有以为的属性和方法,也就是调用受保护和公有 

具体的图形是三角形和实线的图形

实现接口:接口用interface表示,people类实现了iPeople接口,也可以叫做继承接口,继承接口的类,必须实现接口中的对象 

具体的图形是三角形和虚线的图形

聚合:表示的意思是一种弱的拥有关系,类 Girl可以包含stewardess(空姐),但是stewardess不是Girl的必要的一部分

具体的图形是空心的棱形和实线箭头表示 

合成:表示一种强的拥有关系,体现了严格的部分与整体关系,部分和整体的生命周期一样,head是boy的一部分,如果head没有了,boy肯定不存在,不好意思,好像

有点暴力和血腥的意思,只是一个例子而已

具体的图形是实心的棱形和实线箭头表示 

关联(association):一个类知道另一个类时,用关联来表示,Girl需要知道weather

具体的图形是实线箭头

依赖(dependency), People需要oxygen(氧气)才可以生存,是依赖关系

具体的图形是虚线箭头