UML中的四种关系二

  uml中的四种关系一 

   

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

 

    一、依赖

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

代码:class  Professor

          {    public void teach (Course   C

                 {...}

          }

    二、关联

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

代码:class Person

          {

                public Company  m_company

          }

    2.1聚合

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

代码:class  WideGooseAggregate

         {

               private WideGoose[]  arrayWideGoose;

         }

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

    2.2组合

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

代码:class Bird

         {

             private Wing  wing;

             public Bird()

                {    wing=new  Wing();}

         }

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

    三、泛化

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

代码:class  Employee

         {...}

         class  Manager :Employee

          {...}

         class Enginee :Employee

          {...}

    四、实现

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

代码:interface IFly

         {

              void   Fly();

         }

         class WideGoose :IFly

          {...}

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值