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

原文地址:https://www.cnblogs.com/xiaoheike/p/4160393.html