UML类图
当我们在学习设计模式的时候就回接触UML类图,那么这个UML类图是什么呢?类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容,最基本的元素是类或者接口。类图(Class diagram)是最常用的UML类图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计 。
用途:
- 类图主要用在面向对象软件开发的分析和设计阶段,描述系统的静态结构。类图图示了所构建系统的所有实体、实体的内部结构以及实体之间的关系。即.类图中包含从用户的客观世界模型中抽象出来的类、类的内部结构和类与类之间的关系。
- 它是构建其他设计模型的基础,没有类图,就没有对象图、状态图、协作图等其他UMI.动态模型图.也就无法表示系统的动态行为。类图也是面向对象编程的起点和依据。
- 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。
- 在项目中,类图是一种静态的结构图,描述了系统的类的集合,类的属性和类之间的关系,可以简化了人们对系统的理解;
- 类图是系统分析和设计阶段的重要产物,是系统编码和测试的重要模型。
以下面为例:
代码示例如下:
public class Demo{
private static Singleton singleton;
private Demo(){};
public static synchronized Singleton getInstance(){
if(Singleton == null){
singleton = new Singleton;
}
return singleton;
}
}
别以为麻烦,其实就是挺麻烦,能帮我们简化对系统(项目)的理解。这里总结一下类图的知识点:
- 类图分为三部分,依次是类名、属性、方法 。
- 以<<开头和以>>结尾的为注释信息
- 修饰符+代表public,-代表private,#代表protected,什么都没有代表包可见
- 带下划线的属性或方法代表是静态的。
- 属性和方法书写规范:修饰符 [描述信息] 属性、方法名称 [参数] [:返回类型|类型]。
常见关系主要有一般关系、继承关系、关联关系、聚合关系、复合关系、依赖关系、实现关系。
1.一般化关系:表示为类与类之间的继承关系,接口与接口之间的继承,类对接口的实现关系。
表示方法: 用一个空心箭头+实线,箭头指向父类。或空心箭头+虚线,如果父类是接口。
2.关联关系:类与类之间的联接,它使一个类知道另一个类的属性和方法。
表示方法:用 实线+箭头, 箭头指向被使用的类。
3.聚合关系:是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。关联关系的两个类处于同一层次上,而聚合关系两个类处于不同的层次,一个是整体,一个是部分。
表示方法:空心菱形+实线+箭头,箭头指向个体。
4.合成关系:是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期,合成关系不能共享。
表示方法:实心菱形+实线+箭头,
5.依赖关系:是类与类之间的连接,表示一个类依赖于另一个类的定义。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。
表示方法:虚线+箭头 箭头指向被依赖的一方,也就是指向局部变量。