`
zl198751
  • 浏览: 273287 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UML类图的箭头介绍

    博客分类:
  • UML
 
阅读更多

这篇博客对类之间的关系进行了整理,在用UML进行类图设计时,对类之间的关系更加清晰明了.

       

       一、表示符号上的区别

 

二、具体区别与联系

继承(泛化)

       指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系,可分单重继承,多重继承(java不支持);在Java中此类关系通过关键字extends明确标识。

       实现

      指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;在Java中此类关系通过关键字implements明确标识

      依赖

      可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是B类的变化会影响到A;比如某个老师要授课,则需要有这么一门课让他教授,此时老师与课之间的关系就是依赖;表现在代码层面,为类Course作为参数被类Professor在Teach方法中使用;

      关联

      它体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,普通关联关系的两个类处于同一层次上,关联可以是单向(只有一个类知道另外一个类的公共属性和操作)的也可以是双向(两个类都知道另一个类的公共属性和操作)的;大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类。

双向关联:

单向关联:

      聚合

      聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如书本与暑假、公司与员工的关系等;具体表现为,如果A由B聚合成,表现为A包含有B的全局对象,但是B对象可以不在A创建的时刻创建。

      组合

      组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,也可以理解为如果A由B组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。比如你和你的大脑或一本书和它的书页。

      综上所述,对于继承、实现这两种关系比较简单,他们体现的是一种类与类、或者类与接口间的纵向关系;其他的四者关系则体现的是类与类、或者类与接口间的引用、横向关系,这几种关系都是语义级别的,所以从代码层面并不能完全区分各种关系;从后几种关系所表现的强弱程度来看,依次为:组合>聚合>关联>依赖。在面向对象的设计过程中,能采取强度较大的关系,决不能采取强度小的关系。

     随着学习深入,会加上代码实现!

 

分享到:
评论

相关推荐

    UML类图的各符号含义及表示

    类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形。由这些基本的图形进行组合构成了类图的基本符号。这里要注意这几个符号的顺序,代表了类与类之间关系的耦合程度。越向右耦合度...

    UML:类图关系总结

    UML类图几种关系的总结,泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition...

    包含UML,类图、建模、软件工程开发管理过程、箭头介绍

    包含UML,类图、建模、软件工程开发管理过程、箭头介绍

    UML类图与类的关系详解

    上面是UML的语法。在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation)...

    UML类图几种关系的总结

    U在UML类图中,常见的有以下几种关系: 泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)【泛化关系】:是一种继承关系,表示一般与特殊...

    看懂UML类图和时序图

    这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对日常的工作和交流;同时,我们应该能将类图所表达的含义和最终的代码对应起来...

    UMLgui:允许自动生成 UML 类图-matlab开发

    UMLgui 允许自动创建 UML 类图。 运行 UMLgui 会打开 gui。 然后您可以使用主面板下的四个按钮来添加目录或目录及其(递归)子目录,以及删除所选目录或清除整个列表。 有各种视图选项可用,最重要的是树布局,它...

    UML九种建模图-类图

    UML九种建模图--类图 UML提供了九种建模图,其中类图是最常用的一种。类图是一种静态模型,主要用来显示系统中的类、接口以及它们之间的静态结构和关系。这些关系包括关联、泛化和依赖等。类图是面向对象系统建模的...

    UML中继承实现依赖关联聚合组合的联系与区别_线条箭头.doc

    UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别

    Java面向对象程序设计杨晓燕面向对象基本原则和模式.pptx

    UML类图 UML(Unified Modeling Language),即统一建模语言,是图标式软件设计语言。 类图(Class diagram)是最常用的UML图,显示类、接口以及它们之间的静态结构和关系,用于描述系统的结构化设计。类图最基本的...

    面向对象技术与UML课件及源代码-by 南邮-陈杨

    1.2.3安装目录介绍 1.2.4环境变量设置 1.3开发第一个Java程序 1.3.1如何编写源代码 1.3.2如何将源代码编译成.class文件 1.3.3如何执行.class文件 1.3.4新手常见错误 1.4用Eclipse开发Java程序 1.4.1Eclipse...

    银行储蓄系统--详细的UML实验指导书

    结合Rational rose7软件较详细的介绍了用例图,类图,时序图等的画法,有箭头所指示的提示,初学者适用。

    简单的图书馆系统UML图

    简单的图书馆系统UML图,虽然里面还有些问题,但是我们的辛苦作品,主要缺点:1)用例图中extend的箭头方向有错误,如查询已借书籍和查询违规书籍之间,借阅书籍和续借书籍之间;2)类图相对简单了一些;3)第1张顺序图中的...

    UML实验报告.pdf

    计算机与通信工程学院 实验报告 课程名称: UML 在嵌入式系统中的应用 学 期: 指导教师: 实验地点: 专业名称: 班 级: 姓 名: 学 号: 成 绩: 评 语: 教师签名: 日 期: 实验学时:课程实验共 20 学时,配合...

    小书匠语法说明之plantuml1

    书匠语法说明之书匠语法说明之小书匠小书匠概述概述效果基础普通参与者箭头常见 UML 图例图活动图状态图序列图对像图类图组件图时间图疑问疑问相关相关书匠语法说明之

    系统架构师谈企业应用架构之系统建模2

    上篇文章《系统架构师谈企业应用架构之系统建模1》主要简单的介绍了建模中使用的标准建模语言UML的相关内容,包括用例图与类图的使用方法及如何建模。相信大家对UML建模语言已经有了初步的认识,还请大家谨记UML不同...

    UML统一建模语言初学

    类图详解: 1)构成形式:举一个例子:2)内部类: 我们使用诸如下边的方式表示内部类,定义在方法区例如:3)访问描述符: 对于Java,我们用如下的符号表示访问描述符: 我们在下图详细说明了各个访问描述符的...

Global site tag (gtag.js) - Google Analytics