读书人

UML中的四种关系2

发布时间: 2012-12-29 10:28:09 作者: rapoo

UML中的四种关系二

uml中的四种关系一

前两天我们要试讲,我选择试讲的内容是UML中的四种关系,UML刚学过,讲起来应该挺容易的。这四种关系:关联、依赖、泛化、实现,一说都知道,也看过一些例子,能说出那些例子来。但是有一天,一个同学拿着我写的试讲稿,我上面写着:其中,依赖的关系最弱......。他就问我为什么他最弱啊,你知道他在代码中如何体现的不,不过想想当时学UML时还真没注意过,当时视频里也有讲过这些关系如何在代码中体现的,但是就一过了了,没有去关注,也没去总结着几种关系他们在代码里如何区别的。下面就这几种关系写个例子,附上代码哈。

一、依赖

依赖关系最弱,因为依赖类是在被依赖类中的一个方法的参数里,他会随着调用该方法而实例化,随着该方法的结束而消亡。例如:

UML中的四种关系2

代码:class Professor

{ public void teach (Course C)

{...}

}

二、关联

关联比依赖强,因为他是体现在属性里,会随着类的实例化就实例化了。例如:UML中的四种关系2

代码:class Person

{

public Company m_company;

}

2.1聚合

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

UML中的四种关系2

代码:class WideGooseAggregate

{

private WideGoose[] arrayWideGoose;

}

在雁群WideGooseAggregate类中,有大雁数组对象arrayWideGoose。

2.2组合

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

UML中的四种关系2

代码:class Bird

{

private Wing wing;

public Bird()

{ wing=new Wing();}

}

在鸟Bird类中,初始化时,实例化翅膀Wing,他们之间同时生成。

三、泛化

泛化即继承关系,是‘is A’关系,一般/特殊关系,特殊元素的对象可以代替一般元素的对象。例如:

UML中的四种关系2

代码:class Employee

{...}

class Manager :Employee

{...}

class Enginee :Employee

{...}

四、实现

一个类实现一个接口。例如:大雁实现飞翔接口。

UML中的四种关系2

代码:interface IFly

{

void Fly();

}

class WideGoose :IFly

{...}

读书人网 >移动开发

热点推荐