雨落天涯

问花花不语,为谁落,为谁开。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

类图(class diagramUML中使用最多的一种图。

一个类,它远看是矩形,近看也是一个矩形,只不过有时候是一个矩形,有时候是2-3个矩形的集合。

一个类,通常会有一些属性和方法,用类图表示如下:


这个类图,由三个矩形组成,由上而下分别是类名,属性、方法。前面的 (“+”)号表示公开属性或方法(Public),("-")号表示私有的属性或方法(Private),而("#")号表示保护(Protected)。

当然,有的为了对类图进行简洁,将属性、方法中的一个或两个进行隐藏。


类图,并不是说画上一个矩形,写上名称、属性和方法就可以了。在实际的软件系统开发当中,类并不是孤立存在的,类与类之间存在一定的关系。

1.关联关系

它是一种结构化关系,用于表示一类对象与另一个类对象之间有关系,例如,学生和老师,子女与父母等等。


例如:刚哥And 云姐is同学关系


在UML中,关联关系又包含以下几种关系:

1双向关联指双方都知道对方的存在,都可以调用对方的公共属性和方法。实现两端都不带箭头。

例如:上图的刚哥and 云姐,就是一种种双向关联关系,即云姐既认识刚哥,刚哥也认识云姐。

 

2单向关联:表示一种单方面的相识关系:单向关联用实现的一头带箭头表示。

例如:刚哥And 比尔盖茨 ,刚哥认识比尔盖茨,而比尔盖茨不知道刚哥的存在。

 

(3)聚合关系:用一个空心菱形来表示,属于弱包含。

例如 cpucomputer,如果computer没有了,Cpu还是可以单独存在的。


(4)组合关系用一个实心菱形来表示,属于强包含,比聚合关系还要强的一种。

例如,最典型的莫过于人和他自己的胳膊,如果一个人都没有了,那他的胳膊肯定也就消失了,胳膊是不能作为一个单独的个体来存在的。


 

PS聚合和组合关系都属于整体与部分的关系

2. 泛化关系

用于描述一个类是另一个类的类型。就是一种子类继承父类的属性与方法的关系。例如:



 篮球和足球都属于球类,都具有球的属性(圆的)和方法(拍,踢)

 例如:篮球 is a 球。这种含有 is a 关系的一般为继承关系。


3. 依赖关系:是一种使用关系。特定事物的改变有可能会影响到使用该事物的其他事物。

例如,在系统开发当中,如果我们使用了一些公用类,供别的类使用,如果这些公用类出现了问题,那么调用这些公用类的其他类也会出现问题。在UML中依赖关系如下图表示:



4.实现关系:指的是对象实现一个接口的关系。例如:小鸟属于鸟类,它实现了鸟类会飞的这一个接口,所以小鸟也能在空中飞翔。


例如 用UML绘制类图,一般按照这三个步骤进行:

首先定义出类;其次明确类的属性和方法;最后分清类与类之间的关系。


posted on 2013-02-03 17:19  雨落天涯  阅读(253)  评论(0编辑  收藏  举报