加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

设计模式--UML关系与代码对照

发布时间:2020-12-13 22:36:42 所属栏目:百科 来源:网络整理
导读:在学习 UML 的时候,重点掌握 UML 的九种图和六种关系,以及他们衍生出来的作品。在机房收费系统完成后,通过 UML 的理论知识的学习之后,实践了一把。 用 UML 对系统进行建模之后,我们需要把 UML 图转换成具体的代码,用代码去实现我们 的模型。每种关系在

在学习UML的时候,重点掌握UML的九种图和六种关系,以及他们衍生出来的作品。在机房收费系统完成后,通过UML的理论知识的学习之后,实践了一把。UML对系统进行建模之后,我们需要把UML图转换成具体的代码,用代码去实现我们的模型。每种关系在代码中的表示方法是怎样的,同样我们反过来,看了代码之后,我们能够对应着找到类与类之间的关系。

继承:指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。

代码

       class Bird : Animal
       {
	//成员;
       }

实现:指的是一个class类实现interface接口(可以是多个)的功能。

接口的表示方法

1.直接画棒棒糖形状的。

2.把一个类的形式设置为Interface然后选中这个interface,Format->Stereotype display->Lable

代码

<span style="font-size:24px;">      class Bird :IFlay,IWalk	//接口的多继承;
      {

      }</span>

关联Association):当一个类知道另一个类时用关联

代码

<span style="font-size:24px;">       class Penguin : Bird
       {
           private Climate climate;    //企鹅继承鸟类,引用到了Climate对象
       }</span>

依赖Dependency):一个类A使用到了类B,类B的变化会影响到类A


代码

<span style="font-size:24px;">        abstract class Animal 
<span style="white-space:pre">	</span>{
	     public Metabolism(Oxygen oxygen,Water water)
             {
		//Water和Oxygen类作为Animal类的某个方法的参数或返回值; 
	     }
	}</span>

组合Composition):一种强“拥有”关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。


代码

<span style="font-size:24px;">	class Bird
        {
	    private Wing wing;
            public Bird()
            {
               wing =new Wing();     //构造函数,初始化鸟类时,实例化Wing;生命周期相同
            }	
	}</span>


聚合Aggregation):一种弱“拥有”关系,体现了A对象可以包含B对象,但B对象不是A对象的一部分。B可以脱离A单独存在。生命周期不同


代码

<span style="font-size:24px;">       class WideGooseAggregate
       {
         private WideGoose[] arrayWideGoose;	//雁群中有大雁数组;
       }</span>

每一种设计模式,都是用UML图给出,这些模式的UML图,就是类与类关系的各种组合,熟悉了基础,更加有利于后面对代码的理解。看到代码想到相应的UML图,掌握每一种模式的UML图的重点所在,从小入手,各个击破。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读