您的位置:首页 > 编程语言

UML图形 X 类之间的关系 X 实现代码

2008-12-08 09:06 302 查看
聚合:“雁群”是对“大雁”的聚合[1]。

class DaYan

{

//......

};

class YanQun

{

vector<DaYan> v_DaYan;

public:

void fly()

{

for_each(v_DaYan.begin(),v_DaYan.end(),fly);

}

};

在《大话设计模式》里面,有一个UML类图图示样例,包括了UML基本图示法,结合这幅图理解类之间的关系,在实现代码的时候,也会有参考的价值:
动物类
它依赖于氧气类、水类,所以用一个虚线实心箭头指向这两个类(----->)。
因为动物类的方法:新陈代谢(in o2,in water),是以两个类对象为参数的。我们可以将“依赖关系”理解为“A使用B作为函数参数的关系”;同样,如果在编码的时候,我们需要将B类作为A类的函数参数,那么,A对B就是依赖关系![2]
翅膀类
翅膀肯定是属于鸟的一部分;
鸟类
它继承自动物类,所以用一个实线空心箭头指向动物类;
鸟和翅膀是“合成(组合)关系”:用一个实心菱形,加上一条实线,再加上一个实心箭头,从鸟类指向翅膀类(我倒没见到组合关系的代码例子呢);
大雁类
继承自鸟类;
大雁实现接口“飞行”:用一条虚线加一个空心箭头,指向飞行接口;
雁群类
它和大雁类是聚合关系,用一个空心菱形,加上一条实线,再加上一个实心箭头,指向大雁类。本类提供“v形飞行”方法。在代码编写中,大雁类的对象,往往作为雁群类的成员[3];
企鹅类
继承自鸟类;
气候类
显然,企鹅下蛋是需要合适的气候的;企鹅类于气候类是关联关系:用一条实线加一个实心箭头,指向气候类;

[1]关于聚合关系以及for_each的使用方法举例:
http://www.cppblog.com/huyi/archive/2006/12/22/16736.html
[2] 我习惯于用后一种方式思考问题,然后再画出UML图形。
[3] 对象体现聚合。
[4] 参考资料:http://www.dezai.cn/article_show.asp?ArticleID=23624 UML中类之间的关系及其Java代码例子。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: