分类: C/C++
2012-08-14 16:19:56
转时间 : 2008-10-04 作者:佚名 编辑:本站 点击: 495 [ 评论 ]
转自:http://blog.csdn.net/hnney/article/details/5752027
本文是我在读《大话设计模式》时的一篇读书笔记
这个矩形框代表一个类,这是一个类图,它包括三层:
注意前面的符号:"+"表示Public,"-"表示private,"#"表示protect。
这是一个接口图,与类图的主要区别是顶端有<
这是一个继承关系图,继承关系用空心三角行+实线来表示。
这是一个实现接口,用空心三角行+虚线表示。
class Penguin : Bird
{
private:
Climate climate;
//在企鹅Penguin中,引用到气候Climate对象。
}
这是一个关联关系,关联关系用实线箭头表示。当一个类"知道"另一个类时,用关联(association).
class WideGooseAggregate
{
private:
Widegoose arrayWideGoose[ ];
}
这是一个聚合关系,聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心的菱行+实线箭头来表示。
class Bird
{
private:
Wing * wing;
public:
void Bird()
{
wing = new Wing();
//在Bird类中,初始化时,实例化翅膀Wing,它们之间同时生成
}
}
这是一种组合关系(也叫合成),是一种强的"拥有"关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。另外,你还会注意到组合关系的连线两端还有一个数字"1"和数字"2",这被称为基数。
这是一种依赖关系,用虚线箭头表示。
class Animal
{
public:
void metabolic(Oxygen oxygen, Water water);
}