UML类图的关系
多态
泛化(Generalization)
【定义】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为
【UML表示】:带三角箭头的实线,箭头指向父类

【代码表现】:A类 extends B类
public Class Tigger
extendsAnimal{
实现(Realization)
【定义】:是一种类与接口的关系,表示类是接口所有特征和行为的实现
【UML表示】:带三角箭头的虚线,箭头指向接口

【代码表现】:A类 implements B接口
public Class Course
implementsGoods{
依赖(Dependency)
【定义】:是一种使用的关系,即一个类的实现需要另一个类的协助
【UML表示】:带箭头的虚线,指向被使用者

【代码表现】:局部变量、方法的参数或者对静态方法的调用

关联
下面的三种关系从语法上是没有区别的。只是在语义是做区分。
关联(Association)
【定义】:是一种拥有的关系。类的地位还是平等的。
【UML表示】:带普通箭头的实心线,指向被拥有者

【代码表现】:成员变量

注意事项:
- 通常情况下关联是双向的,在使用的时候会转成单向。转成单身的原则:以业务关注点高的类为起点,关联另一个类。
聚合(Aggregation)
【定义】:是整体与部分的关系,且部分可以离开整体而单独存在,部分可以多个整体使用。类有上下层的关系。
【UML表示】:带空心菱形的实心线,菱形指向整体

【代码表现】:成员变量

组合(Composition)
【定义】:是整体与部分的关系,但部分不能离开整体而单独存在,部分只能被一个整体使用。类有上下层的关系。它们的生命周期是:同生共死,即如果整体消失了,那么局部也会消失。
【UML表示】:带实心菱形的实线,菱形指向整体

【代码表现】:成员变量

UML类图的关系的更多相关文章
- UML类图常见关系总结
Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realizat ...
- 设计模式之UML类图六大关系辨析【2】
六大关系:继承(extends).实现(Realization).依赖(use-a).关联(association).聚合(has-a).组合(强聚合)(Composition). 类与类之间的强弱关 ...
- UML类图六种关系的总结
在UML类图中,常见的有以下几种关系: 泛化(Generalization):继承的关系,实线带三角形箭头,指向父类. 实现(Realization):实现的关系,虚线带三角形箭头,指向接口. 关联( ...
- 总结 一下UML 类图的关系
1,实线三角 表示 泛化 是一种继承关系,它指定了子类如何特化父类的所有特征和行为 2,虚线三角 表示 实现 是一种类与接口的关系,表示类是接口所有特征和行为的实现 3,空心菱形 表示 聚合 是整 ...
- UML 类图的关系
1. 关联关系 1.1 单向关联 . public class ClassA { private ClassB bVar; } public class ClassB { //... } 1.2 ...
- 我对uml类图关系的理解
uml类图的关系: 泛化关系也就是继承. 实现关系就是一个类实现另外一个接口. 依赖关系就是一个类使用了另外一个类,是一种使用关系,在这个类的某个服务中需要另外一个类来协助. 关联关系就是一类拥有另外 ...
- UML类图几种关系的总结
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...
- UML类图关系全面剖析
UML的类图关系分为: 关联.聚合/组合.依赖.泛化(继承).而其中关联又分为双向关联.单向关联.自身关联:下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里. 1.关联 双向关联:C1- ...
- UML类图关系--继承(泛化)、实现、关联、聚合、组合、依赖
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composi ...
随机推荐
- student表中创建触发器,实现student表和student _course表的级联删除
create trigger Delete_sc on student for delete as delete student_course where student_course.s_no in ...
- JAVA获取CLASSPATH路径
ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL getResource (String name); public InputStream getResou ...
- [测试] Firemonkey Android 照相自订分辨率测试
在 Delphi 10 Seattle 提供了照相及相册自订分辨率的功能,请见官方网站教学: http://docwiki.embarcadero.com/RADStudio/Seattle/en/T ...
- [转]CSS编码规范
单行形式书写风格的排版约束 1. 每一条规则的大括号 { 前后加空格 2. 多个selector共用一个样式集,则多个selector必须写成多行形式 3. 每一条规则结 ...
- android FragmentActivity+FragmentTabHost+Fragment框架布局
这周比较闲,计划系统的学习一下android开发,我本是一名IOS程序员,对手机开发还是有自己的一套思路的, 固这套思路用到我当前学android上了,先选择从Main页面的tabbar部分代码入手, ...
- 市面上常见的javaEE WEB服务软件
常见的市面上web服务软件 Tomcat:轻量级的WEB应用程序服务器(开源),开源组织Apache的产品.免费的.支持部分的JavaEE规范.(servlet.jsp.jdbc,但ejb, rmi不 ...
- bootstrap框架禁用谷歌字体
bootstrap框架禁用谷歌字体 H5框架换字体.png
- 利用PBFunc在Powerbuilder中支付宝当面付功能
在PB实现支付宝当面付的功能,需要先在支付宝进行商户签约,并设置相关的公钥信息(具体参考支付宝文档). 然后使用对应的私钥文件对参数进RSAWithSha1前面计算.具体代码如下: string ls ...
- nginx的pass_proxy遇到的坑
Pass_proxy走内网,被请求方的php使用remote_addr得到就是转发机器的内网地址,如192.168.10.141这样的.走外网,被请求方php的remote_addr得到就是转发机器的 ...
- mongoDB简介
概述 MongoDB 是一款跨平台.面向文档的数据库.用它创建的数据库可以实现高性能.高可用性,并且能够轻松扩展.MongoDB 的运行方式主要基于两个概念:集合(collection)与文档(doc ...