UML类图属性和相关关系
UML类图
1. 类属性的可见性
描述类的属性的可见性:
UML中,可见性分为4级
public 公用的 :用+ 前缀表示 ,该属性对所有类可见
protected 受保护的:用 # 前缀表示,对该类的子孙可见
private 私有的:用- 前缀表示,只对该类本身可见
package 包的:用 ~ 前缀表示,只对同一包声明的其他类可见
2. UML类与类之间的关系
关系有: 依赖、泛化(继承)、实现、关联、聚合、组合
2.1. 依赖关系(Dependence)
依赖关系: 是一种使用关系,即一个类实现需要另一个类的协助,所以要尽量不使用相互依赖。
代码表现: 局部变量、方法的参数或者静态方法调用
箭头及指向: 带箭头的虚线,指向被使用者
具体体现:
- 类中用到了对方;
- 如果是类的成员属性;
- 如果方法的返回值类型;
- 是方法接收的参数类型;
- 方法中使用到。
2.1.1 实例代码
public class PersonDao {}public class IDCard {}public class Person {}public class Department {}public class PersonServiceBean {private PersonDao personDao;public void save(Person person);public IDCard getIDCard(Integer personId) {return null;}public void modify() {Department department = new Department();}
}
2.1.2 UML类图
2.2 泛化(继承)关系(Generalization)
2.2.1 介绍:
泛化关系:是一种继承关系,表示一般与特殊的关系,它指定了子类如何转化父类的所有特性和行为。他是依赖关系的特例。
箭头指向: 带三角空心箭头的实线,箭头指向父类。
2.2.2 代码示例
public abstract class A {public void save(Object c) {}public void delete(Object id) {}
}public class B extends A {}
2.2.3 UML图
2.3 实现关系(Implementation)
2.3.1 介绍
实线关系:是一种类与接口之间的关系,表示类是接口所有的特性和行为的实现。他是依赖关系的特例。
**箭头指向:**带空心三角形箭头的虚线,箭头指向接口。
2.3.2 代码示例
public interface A {public void delete(Integer id);public void save(Object a);
}public class B implements A {public void delete(Integer id) {}public void save(Object a) {}
}
2.3.3 UML图
2.4 关联关系(Association)
2.4.1 介绍
**关联关系:**是一种拥有的关系,他使一个类知道另一个类的属性和方法;如:老师和学生。丈夫和妻子关联可以使双向,也可以单向。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
**代码体现:**成员变量
**箭头指向:**带空心菱形的实心线,指向被拥有者。
2.4.2 UML图
2.5 聚合关系
2.5.1 介绍
**聚合关系:**是整体与部分的关系,且部分与整体可以分离而单独存在,如车和轮胎是整体与部分的关系,轮胎离开车仍然可以存在。
聚合关系是关联关系的一种,是强的关联关系,关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
**代码体现:**成员变量
**箭头指向:**带空心菱形的实心线,菱形指向被拥有者
2.5.2 示例代码
// 汽车类
public class Car {private Tyre tyre;private void setTyre(Tyre tyre) {this.tyre = tyre;}
}
// 轮胎类
public class Tyre {}
2.5.3 UML图
2.6 组合关系
2.6.1 介绍
**组合关系:**是整体和部分关系,但部分不能离开整体而单体存在,如公司和部分是整体和部分的关系,没有公司就不存的部分。
组合关系是关联关系的一种,是比聚合关系还要强的关系,他要求普通的聚合关系中代表整体的对象负责代表
2.6.2 示例代码
// 人
public class Person {private Head head = new Head();
}
// 脑袋
public class Head {}
2.6.2 示例代码
// 人
public class Person {private Head head = new Head();
}
// 脑袋
public class Head {}
2.6.3 UML图
UML类图属性和相关关系相关推荐
- UML类图的6大关系
<小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...
- [转] UML类图的几种关系总结
在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition ...
- UML类图、6种关系
目录 一,类图 二,类的6种关系 1,泛化 2,实现 3,组合 4,聚合 5,关联 6,依赖 三,总结 一,类图 类图中,每个类由3个部分组成,上面的是类名,中间的是属性,下面的是方法. 属性和方法可 ...
- UML类图中的六大关系:关联(单向、双向、自关联)、聚合、组合、依赖、继承、实现
一.类的属性的表示方式 在UML类图中,类使用包含类名.属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个A类,它包含c.d两个属性,以及methodA方法. 那么 ...
- UML类图中类之间的关系,聚合,组合,依赖总结
下面我就根据下面这个图来讲解一下UML类图. 类图 首先,看动物那个矩形框,他就表示为一个类(Class).类图分为三层: 第一层显示类的名称 如果是抽象类,就用斜体表示 第二层显示类的特性,通常是字 ...
- 图文并茂,详细讲解UML类图符号、各种关系说明以及举例
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | duanxz 来源 | https://www ...
- 详解:UML类图符号、各种关系说明以及举例
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | duanxz 来源 | https://www ...
- UML类图之六种基本关系详解
文章目录 0. 什么是UML? 1. 依赖关系(Dependence) 1.1 什么是依赖关系? 1.2 上代码 1.3 用类图描述关系 1.4 依赖小结 2. 泛化关系(Generalization ...
- 【UML】例析UML类图的几种关系
最近在学习UML,别的先不提,英文单词到是学会了不少..既然Rational Rose就是英文版的,索性我就所有东西都按照英文意思来理解,慢慢来,当初学VB的时候我也不是一下子就能记住Label的.. ...
最新文章
- 关于AI,腾讯又有大动作!开发者该如何应对?
- EPPLUS之外的选择,EXCEL的操作(NPOI,POI(java))
- c# html文件转换word,C#实现word转换成html文档 源码
- profibus dp协议_轻松搞定PROFIBUS故障诊断与排除
- java rtmp录制视频_red5-rtmp-push
- 答应我,别再靠!= null走天下了可以吗?
- Thinkpad连续响4遍4个短嘀故障记录
- LRC软件测试自学,LRC滚动歌词制作编辑器
- 国际金融互联报文规范SWIFT之银行识别代码BIC Code介绍
- abb机器人goto指令用法_abb机器人编程指令,机器人编程的程序指令
- uniapp本地存储
- 【串口服务器】的桥接模式
- 花落谁家---再见熊节
- 度秘语音引擎app_「资源」9个(实时)语音转文字APP分享(推荐收藏)
- sheet_name
- java文本压缩算法_java 什么算法压缩文件最小
- 绝缘栅型n沟道场管_N沟道增强型绝缘栅场效应管的工作原理
- C++模板函数的声明和定义是否可以分开?
- 计算机辅助教学毕业论文,计算机辅助教学管理——本科毕业论文规范化排版
- Android自定义schema,android hybird 实现:自定义schema