UML中继承实现依赖关联聚合组合的联系与区别_线条箭头.doc
UML 中继承、实现、依赖、关联、聚合、组合的联系与区别 UML 中的继承关系是指一个类继承另外一个类的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系。在 Java 中此类关系通过关键字 extends 明确标识,在设计时一般没有争议性。 UML 中的实现关系是指一个 class 实现 interface 接口(可以是多个)的功能,实现是类与接口之间最常见的关系。在 Java 中此类关系通过关键字 implements 明确标识,在设计时一般没有争议性。 UML 中的依赖关系可以简单的理解,就是一个类 A 使用到了另一个类 B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是 B 类的变化会影响到 A。例如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖。 UML 中的关联关系他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友。这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的。 UML 中的聚合关系是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即 has-a 的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。 UML 中的组合关系也是关联关系的一种特例,他体现的是一种 contains-a 的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。 在 UML 中,继承、实现、依赖、关联、聚合、组合这六种关系都是语义级别的,所以从代码层面并不能完全区分各种关系;但是后几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖。 在 UML 中,还有泛化关系、关联关系、聚合关系、组合关系等多种关系,这些关系都是类与类、或者类与接口之间的关系,可以用来描述类与类、或者类与接口之间的继承、实现、依赖、关联、聚合、组合等关系。 泛化关系(generalization)是指类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。 关联关系(association)是指两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。关联关系可以是单向关联和双向关联,双向关联有两个箭头或者没有箭头,单向关联有一个箭头,表示关联的方向。关联关系以实例变量的形式存在,在每一个关联的端点,还可以有一个基数(multiplicity),表明这一端点的类可以有几个实例。 聚合关系(aggregation)是关联关系的一种,是强的关联关系。聚合是整体和个体的关系。聚合关系也是通过实例变量实现的。例如汽车、发动机、轮胎,一个汽车对象由一个发动机对象,四个轮胎对象组成。 UML 中的继承、实现、依赖、关联、聚合、组合等关系都是类与类、或者类与接口之间的关系,可以用来描述类与类、或者类与接口之间的继承、实现、依赖、关联、聚合、组合等关系。
剩余12页未读,继续阅读
- 粉丝: 1
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
- (源码)基于SSM框架的大学消息通知系统服务端.zip
- (源码)基于Java Servlet的学生信息管理系统.zip
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip