专栏首页xiaoheikeUML类图简单介绍

UML类图简单介绍

UML类图

在这里简单介绍一下UML的图形代表的是什么意思,以及在编码过程中是如何体现的。

UML类图实例如下图所示:

图01 UML类图实例

类的表示

类的中英方对照如下:

表01 类的中英方对照

中文

英文

动物

Animal

Bird

大雁

WildGoose

企鹅

Penguin

雁群

WildGooseAggregate

氧气

Oxygen

Water

气候

Climate

翅膀

Wing

关系说明

企鹅需要‘知道’气候的变化,需要‘了解’气候规律。当一个类‘知道’另一个类时,可以用关联(association)。关联关系用实线箭头来表示 代码表示如下:

class Penguin : Bird
{
    // 在企鹅Penguin中,引用气候Climate对象
    private Climate climate;
}

大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁,所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。

代码表示如下:

class WildGooseAggregate
{
    // 在雁群WildGooseAggregate类中,有大雁数组对象narrayWildGoose
    private WildGoose[] narrayWildGoose;
}

鸟和翅膀它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。合成关系用实心的菱形+实绩箭头来表示。合成(Composition,也有翻译成‘组合’的)是一种强的‘拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。 代码表示如下:

class Bird
{
    private Wing wing;
    public Bird()
    {
        // 在鸟Bird类中,初始化时,实例化翅膀Wing,它们之间同时生成
        wing = new Wing();
    }
}

动物几大特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气、水以及食物 等。也就是说,动物依赖于氧气和水。它们之间是依赖关系(Dependency),用虚线箭头来表示

代码表示如下: 

class Animal
{
    public Metabolism(Oxygen oxygen, Water water)
    {
    }
}

设计模式总结

经过这段时间的努力总算是把《大话设计模式》这本书中提到的所有的模式的关键内容完成了。类图的简单介绍原本应该在最开始的时候完成的,但是当时觉得没有必要,今天觉得还是完成一下这样会好一些。认认真真并且上机去验证代码还是有点费时费力的,不过这样收获还是很多的,希望我的博客能够帮到其他人吧。

2014-12-12   19:53:14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 责任链模式(Chain of Responsibility)

    Avoid coupling the sender of a request to its receiver by giving more than one o...

    刘开心_1266679
  • SCEA Part II and Part III 的经验谈

    Just received my results this morning and thought I will share my experience wi...

    阿敏总司令
  • 模板方法模式

    《Head First Design Pattern》中的英文定义:The Template Method defines the skeleton of a...

    TheOneGIS
  • UML之类图

    单向关联:A需要知道B,B不需要知道A 双向关联:A需要知道B,B也需要知道A

    城市中的游牧民族
  • 关于工作流的设计器的选型

    可以采用下面的实现方式: 1、  采用Swing or AWT。       目前工作流的设计器绝大多数是采用swing 的方式作的。      比如shark...

    田春峰-JCJC错别字检测
  • 设计模式——类图以及类与类之间的关系

        设计模式在程序设计上有着很重要的作用,使用设计模式可以使得代码更容易被理解,使得代码更规范,真正实现工程化。

    zhaozhiyong
  • .NET领域驱动设计—初尝(疑问、模式、原则、工具、过程、框架、实践)

    我们在设计业务系统的时候都会存在一个非常棘手而又无法回避的问题“业务扩展性”、“业务灵活性、”面向对象化“,尽管我们熟练掌握设计思想、设计模式、设计原则等等关于...

    王清培
  • 五分钟读懂UML类图

    平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧:

    动力节点Java学院
  • .NET领域驱动设计—初尝(原则、工具、过程、框架)

    原则对于任何一项技术实现来说都是至关重要的,在设计某一个系统功能的时候我们讲究的是设计原则:

    王清培

扫码关注云+社区

领取腾讯云代金券