前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UML类图简单介绍

UML类图简单介绍

作者头像
用户3148308
发布2019-02-25 11:30:09
6640
发布2019-02-25 11:30:09
举报
文章被收录于专栏:xiaoheike

UML类图

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

UML类图实例如下图所示:

图01 UML类图实例

类的表示

类的中英方对照如下:

表01 类的中英方对照

中文

英文

动物

Animal

Bird

大雁

WildGoose

企鹅

Penguin

雁群

WildGooseAggregate

氧气

Oxygen

Water

气候

Climate

翅膀

Wing

关系说明

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

代码语言:javascript
复制
class Penguin : Bird
{
    // 在企鹅Penguin中,引用气候Climate对象
    private Climate climate;
}

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

代码表示如下:

代码语言:javascript
复制
class WildGooseAggregate
{
    // 在雁群WildGooseAggregate类中,有大雁数组对象narrayWildGoose
    private WildGoose[] narrayWildGoose;
}

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

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

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

代码表示如下: 

代码语言:javascript
复制
class Animal
{
    public Metabolism(Oxygen oxygen, Water water)
    {
    }
}

设计模式总结

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

2014-12-12   19:53:14

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-12-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • UML类图
  • 类的表示
  • 关系说明
  • 设计模式总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档