UML类图
类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。类图(Class diagram)最基本的元素是类或者接口。
UML类图关系包含:泛化、实现、关联、聚合、组合、依赖。
1、泛化关系(继承)
泛化关系指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;UML关系如下图:
2、实现关系
实现关系指的是一个class类实现interface接口的功能;在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性;UML关系如下图:
小提示:继承和实现关系在UML关系图中相似,继承(空心箭头+实线)、实现(空心箭头+虚线)。
3、依赖关系
依赖关系就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的;表现在代码层面,为类B作为方法参数|局部变量|静态方法被类A在某个method方法中使用;UML关系如下图:
4、关联关系
关联关系是两个类、或者类与接口之间语义级别的一种强依赖关系,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,表现在代码层面,为被关联类B以类成员对象的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;UML关系图如下:
小提示:依赖关系和关联关系的区别,在于对象的引入方式,若被引入对象作为方法参数引入为依赖关系,若作为类属性方式引入为关联关系。
5、聚合关系
聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,表现在代码层面,和关联关系是一致的,如果A由B聚合成,表现为A包含有B的成员对象,但是B对象可以不在A创建的时刻创建。只能从语义级别来区分; UML关系图如下:
6、组合关系
合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;整体即所有者负责被组合的对象(部分)的生命周期的管理。如果所有者被销毁,被所有者也必须跟着一起被销毁,表现在代码层面,和关联关系是一致的,如果A由B组成,表现为A包含有B的成员对象,并且B对象在A创建的时刻创建(即调用A构造方法创建A对象是同时创建B对象)。只能从语义级别来区分;UML关系图如下:
7、总结:
聚合组合关系代码举例如下:
聚合关系,大雁与雁群
public class GooseGroup{
public Goose goose;
public GooseGroup(Goose goose){
this.goose = goose;
}
}
组合关系,大雁,一只大雁由翅膀、脚...等组成。
public class Goose{
public Wings wings;
public Goose(){
wings=new Wings();
}
}
聚合关系的类里含有另一个类作为参数
雁群类(GooseGroup)的构造函数中要用到大雁(Goose)作为参数把值传进来 大雁类(Goose)可以脱离雁群类而独立存在。
组合关系的类里含有另一个类的实例化
大雁类(Goose)在实例化之前 一定要先实例化翅膀类(Wings) 两个类紧密耦合在一起 它们有相同的生命周期 翅膀类(Wings)不可以脱离大雁类(Goose)而独立存在
信息的封装性不同
在聚合关系中,客户端可以同时了解雁群类和大雁类,因为他们都是独立的
而在组合关系中,客户端只认识大雁类,根本就不知道翅膀类的存在,因为翅膀类被严密的封装在大雁类中。
相关推荐
JDK UML 类图大全 JDK UML 类图大全 JDK UML 类图大全
计算器 uml 类图 c++ 附源代码
UML类图符号 UML类图符号 UML类图符号 UML类图符号 UML类图符号 UML类图符号
uml 类图实例 oom powerdesigner 绘制
java设计模式 简单工厂模式uml类图,一张图就让你秒懂简单工厂模式
spring2.6框架源码全部uml类图,请用Enterprise Architect打开查看,是学习spring框架不可多得的资料
适合软件测试过程师使用,软件评测师考试习题练习
干货3分钟掌握:简单好用的UML类图绘画方法干货3分钟掌握:简单好用的UML类图绘画方法干货3分钟掌握:简单好用的UML类图绘画方法干货3分钟掌握:简单好用的UML类图绘画方法v干货3分钟掌握:简单好用的UML类图绘画...
这是一个简单的酒店管理信息系统的UML类图,用VISIO进行绘制,具有概要类图和详细类图,文档仅供大家参考
进销存管理系统UML类图设计 包括: 财务部分、采购部分、仓库部分、系统管理部分、销售部分
android studio使用的插件,可以自动生成uml类图。
本文向大家简单介绍一下UML类图关系,UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。希望本文的介绍对你的学习有所帮助。
UML类图样例.pdf
UML类图几种关系的总结
Myeclipse中把java代码导成UML类图 Myeclipse是一款功能强大且流行的集成开发环境(Integrated Development Environment,IDE),它提供了许多实用的功能来帮助开发者快速高效地开发Java应用程序。其中一个非常有用...
UML类图 png
类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形。由这些基本的图形进行组合构成了类图的基本符号。这里要注意这几个符号的顺序,代表了类与类之间关系的耦合程度。越向右耦合度...
java设计模式 工厂方法模式uml类图,一张图就让你秒懂工厂方法模式
UML类图说明,如何画UML类图
org.eclipse.uml2.uml:这是Eclipse UML插件的核心库,提供了UML类图的基本元素,如类、接口、关联、活动图等。它还包含了用于创建和编辑UML模型的编辑器。 org.eclipse.uml2.uml.diagram:这个库包含了用于创建和...