`
heidian
  • 浏览: 100433 次
  • 性别: 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中关系图解是UML模型中的一种重要组成部分,用于描述类、对象、接口之间的关系。 在UML中,关系分为七种:继承关系、实现关系、依赖关系、关联关系、有方向的关联、聚合关系和组合关系。 1. 继承关系...

    UML建模实例详解

    "全书图.rar"可能包含了整个教程的综合图解,这些图可能涵盖UML的所有主要图示类型,帮助读者全面理解UML建模的各个层面。 5. **SQL代码txt** SQL(Structured Query Language)是数据库查询和管理的语言。在UML...

    23种设计模式UML图片

    UML图会展示一个抽象工厂类和多个具体的实现类。 3. 抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而无需指定它们的具体类。UML图会包含多个工厂类和产品类的层次结构。 4. 建造者模式:将复杂对象...

    UML_常用符号简明图解

    ### UML常用符号简明图解 #### 一、继承关系 **继承**是面向对象编程中的一个核心概念,指的是一个类(子类)继承另一个类(父类)的属性和方法。在UML中,继承关系用一条实线加一个空心三角形箭头来表示,指向被...

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

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

    UML图解:顺序图(sequencediagram)

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

    UML 建模语言简单图解

    1. **事物(Element)**:UML的基本构建块,可以是类、接口、用例等。 2. **关系(Relationship)**:连接UML事物的纽带,如依赖、关联、泛化(继承)、实现等。 3. **构造型( stereotype)**:扩展UML的内置概念...

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

    超市信息系统分析和UML图解 在当前的超市竞争中,技术的提升和管理的升级是连锁超市业的竞争核心。零售领域呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的...

    设计模式图解,UML类图图示

    ### 设计模式图解——UML类图图示 #### 一、装饰器模式(Decorator Pattern) 装饰器模式是一种结构型设计模式,它允许在不修改原类代码的情况下向对象添加新的功能。此模式通过创建一个新的类来包裹现有的对象,...

    学生管理系统UML图

    总结来说,学生管理系统UML图是该系统设计的关键文档,它通过多种UML图解方式,从不同角度揭示了系统的功能、流程和结构。Reational Software的使用,使得这一过程更加规范和高效。理解和分析这些UML图,对于系统...

    ArgoUML-0.34

    3. **模型元素的创建与编辑**:用户可以方便地创建类、接口、用例、对象、活动等UML元素,并进行属性、操作、关系的设置。 4. **自动代码生成**:ArgoUML支持从UML模型自动生成源代码,常见的编程语言如Java、C++等...

    UML图解:用例图(Usecasediagram)

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

    UML对象设计与编程

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

    Struts Controller UML diagrams

    本文将深入探讨Struts框架的核心组件之一——控制器(Controller),并通过统一建模语言(UML)图解的方式,为初学者提供一个清晰的理解路径。Struts框架是一个基于Java的开源框架,它遵循模型-视图-控制器(MVC)...

    uml设计模式ppt课件

    1. **模式表示**:通过UML类图,可以清晰地展示每个模式的核心组件,如抽象工厂模式中的工厂接口、具体工厂类、产品接口和产品类。 2. **交互表示**:序列图和协作图用于描绘模式中对象间的交互,如在命令模式中,...

    uml类图示例

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

Global site tag (gtag.js) - Google Analytics