UML类图详解

来源:互联网 发布:aⅴ淘宝m7视频 编辑:程序博客网 时间:2024/05/22 12:55

本文是我在读《大话设计模式》时的一篇读书笔记

 

 

 

 

 

 

 

这个矩形框代表一个类,这是一个类图,它包括三层:

  1. 显示类的名称,如果是抽象类,则用斜体表示。
  2. 类的特性,通常为字段和属性。
  3. 类的操作,通常是方法和行为。

注意前面的符号:"+"表示Public,"-"表示private,"#"表示protect。

 

 

 

这是一个接口图,与类图的主要区别是顶端有<<interface>>,第一行是接口名称,第二行是接口方法。接口还有另一种表示法,俗称"棒棒糖表示法",

 

 

这是一个继承关系图,继承关系用空心三角行+实线来表示。

 

 

这是一个实现接口,用空心三角行+虚线表示。

 

 

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);

 

}