`
heidian
  • 浏览: 99163 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
阅读更多

UML类图图示样例

大鸟:“首先你看那个‘动物’矩形框,它就代表一个类(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。”

大鸟:“然后注意左下角的‘飞翔’,它表示一个接口图,与类图的区别主要是顶端有<<interface>>显示。第一行是接口名称,第二行是接口方法。接口还有另一种表示方法,俗称棒棒糖表示法,就是唐老鸭类实现了‘讲人话’的接口。”

小菜:“为什么要是‘讲人话’?”

大鸟:“鸭子本来也有语言,只不过只有唐老鸭是能讲人话的鸭子。”

小菜:“有道理。”

 

大鸟:“接下来就可讲类与类,类与接口之间的关系了。你可首先注意动物、鸟、鸭、唐老鸭之间关系符号。”

小菜:“明白了,它们都是继承的关系,继承关系用空心三角形+实线来表示。”

大鸟:“我举的几种鸟中,大雁是最能飞的,我让它实现了飞翔接口。实现接口用空心三角形+虚线来表示。”

class WideGoose : IFly

{

}

 

class Bird : Animal

{

}

 
 

大鸟:“你看企鹅和气候两个类,企鹅是很特别的鸟,会游不会飞。更重要的是,它与气候有很大的关联。我们不去讨论为什么北极没有企鹅,为什么它们要每年长途跋涉。总之,企鹅需要‘知道’气候的变化,需要‘了解’气候规律。当一个类‘知道’另一个类时,可以用关联(association)。关联关系用实线箭头来表示。”

class Penguin : Bird

{

   private Climate climate;

大鸟:“我们再来看大雁与雁群这两个类,大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分[DPE](DPE表示此句摘自《设计模式》(第2版),详细摘要说明见附录二)。聚合关系用空心的菱形+实线箭头来表示。”

class WideGooseAggregate

{

   private WideGoose[] arrayWideGoose;

}

大鸟:“合成(Composition,也有翻译成‘组合’的)是一种强的‘拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样[DPE]。在这里鸟和其翅膀就是合成(组合)关系因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的合成关系用实心的菱形+实线箭头来表示。另外,你会注意到合成关系的连线两端还有一个数字‘1’和数字‘2’,这被称为基数。表明这一端的类可以有几个实例,很显然,一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。关联关系、聚合关系也可以有基数的。”

class Bird

{

   private Wing wing;

   public Bird()

   {

       wing = new Wing();

   }

}

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

abstract class Animal

{

   public Metabolism (Oxygen oxygen,Water water)

   {

   }

}

小菜:“啊,看来UML类图也不算难呀。回想那天我面试题写的代码,我终于明白我为什么写得不成功了,原来一个小小的计算器也可以写出这么精彩的代码,谢谢大鸟。”

大鸟:“吼吼,记住哦,编程是一门技术,更加是一门艺术,不能只满足于写完代码运行结果正确就完事,时常考虑如何让代码更加简练,更加容易维护,容易扩展和复用,只有这样才可以真正得到提高。写出优雅的代码真的是一种很爽的事情。UML类图也不是一学就会的,需要有一个慢慢熟练的过程。所谓学无止境,其实这才是理解面向对象的开始呢。”

分享到:
评论

相关推荐

    UML建模图解教程

    资源名称:UML建模图解教程内容简介: 《UML建模图解教程》是一本针对Java学员的UML建模教程。它以图文并茂的形式,精炼而全面地讲解了UML各个组成部分,描述了使用UML进行开发的过程,旨在让读者掌握UML的术语、...

    UML类图解义

    ”UML类图图示样例大鸟:“首先你看那个‘动物’矩形框,它就代表一个类(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常...

    UML类关系图解

    UML java 图示6种类关系,帮忙理解uml的基本概念。

    UML建模图解教程(书籍)

    UML建模图解教程,内容讲的不错哦,和大家一起分享一下!

    UML建模实例详解

    UML建模实例详解 &lt;br&gt;不错的东西。

    UML_常用符号简明图解

    UML_常用符号简明图解,详细的UML符号和语言解释说明。

    UML 建模语言简单图解

    UML 建模语言简单图解

    UML中关系图解

    UML的关系 对应的图表 等等 适合入门

    23种设计模式UML图片

    23种设计模式UML图片

    图解所有UML对象关系 c++反汇编 天数夜读反汇编

    图解所有UML对象关系 c++反汇编 天数夜读反汇编 图解所有UML对象关系 c++反汇编 天数夜读反汇编 图解所有UML对象关系 c++反汇编 天数夜读反汇编 图解所有UML对象关系 c++反汇编 天数夜读反汇编

    UML图解:顺序图(sequencediagram)

    我们描述过程一般有2种方式...类的关系和职责的描述用类图(参见:),而活动图和类图是完全不同的视角,这就需要一个以对象交互视角描述活动过程的图。请看下面2个图例的对比: 下面是引入了顺序图的分析设计方法: 可

    UML图解:用例图(Usecasediagram)

    UML是软件行业的建模规范,可以...UML因为讲求建模的精确性,所以比较专业,学起来比较抽象,这里专门以贪吃蛇游戏为例,讲解UML的13种图,如下图所示:UML图解1:用例图(Usecasediagram) 用例图其实来自于电影领域

    UML对象设计与编程

    《UML对象设计与编程》系统地阐述了对象技术的基本概念,详细讲解了统一建模语言(UML)、对象类(Class)和对象实例(Instance)、关联(Aaaociation)和继承(Inheritance)、对象替代和多形性、静态和动态模型、...

    uml类图示例

    图解UML知识的好图,初学UML者的绝佳材料

    UML解惑:图说UML中的六大关系

    用图解的方式描述了UML的六中关系,简单明了

    超市信息系统分析以及用例图UML图解

    关于超市信息系统分析的一份学生作业,仅供参考。内容详实,Word文档,易于下载和修改

    设计模式+UML.rar

    包含以下文件: Java设计模式-图解-附代码.pdf 从Java类库看设计模式.doc 六大UML类图关系.docx 认识UML类图元素_java之UML.doc 设计模式6大原则.doc 设计模式学习笔记.doc 深入浅出设计模式(中文版).pdf

    UML入门教程,适合新手入门学习

    介绍UML的基本功能和基本概念,图解UML的概念模型:基本构造块(Building Block)、架构(Architecture)和通用机制(Common Mechanism)。极适合新手入门学习

    简单银行系统的分析与设计uml

    简单银行系统的分析与设计uml 工具RationalRose 包含分析说明和图解

Global site tag (gtag.js) - Google Analytics