熟悉UML视图

 

               动物 
+ 有生命                       

 

+新陈代谢(in 氧气;in水)

+繁殖

abstract class Animal
{
   public:
   Life life;
   public:
     void metabolism(Oxygen oxygen,Water water);
     void reproduce();
}

如上图所示这个矩形框代表一个类。类图分三层: 第一层为类的名称,如果是抽象类,就用斜体显示,第二层是类的特性:通常是类的字段和属性,第三层是类的操作,通常是方法和行为。前面的符合,“+”代表是public,"-"代表的是private,"#"代表的是protected.

 

           《interface》

                飞翔

+飞()

 

如上图所示,它表示一个接口图,与类图的区别是顶端有一个《interface》显示。第一行是接口名称,第二行是接口方法。

动物,鸟,鸭,唐老鸭之间的关系是继承关系 。继承关系的符合用空心三角线加实现来表示。如下图:

  

而大雁是最能飞的,实现了飞翔接口。实现接口用空心三角加虚线表示。如下图:

class Bird : public Animal{}
class WideGoose : public IFlay{}

而企鹅和气候两个类,企鹅是很特别的鸟,会游泳不会飞,它与气候有很大的关联。可以用关联,关联关系用实现箭头表示,如下图:

                                                   

class Penguin : public Bird
{
    private:
         Climate  climate;
}

大雁与雁群,大雁是群居动物,每只大雁都是属于一个雁群,一个雁群拥有多只大雁。它们之间满足聚会关系。聚合是一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚会关系用空心的菱形+实现箭头来表示。如下图所示:

 

组合关系是一种强的拥有关系,体现了强的部分和整体的关系,部分和整体的生命周期一样,鸟和其翅膀就是组合关系。它们是部分和整体的关系,且生命周期是相同的。组合关系用实心的菱形+实现箭头表示。 

组合关系的两端还有两个数字“1” 和数字“2”,这被称为基数。表明一端的类可以有几个实例,很显然一个鸟应该有两个翅膀,如果一个类有无数个实例就用‘n’来表示。

class Bird
{
    private:
      Wing wing;
    public:
      Bird()
      {
          wing = new Wing();//   在bird类中,初始化时,构造函数里面实例化Wing,它们同时存在。
      }
}

翅膀类是鸟类的一部分,所以在初始化鸟类时,要将翅膀类作为鸟类的成员属性,在构造里要实例化它,使它与Bird类一起存在。

 

动物依赖于水和氧气,它们之间是依赖关系。用虚线箭头来表示。如下图:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值