UML系列:Class Diagram
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML系列:Class Diagram相关的知识,希望对你有一定的参考价值。
1、类图的作用
类图,用于描述系统中的类与类之间的各种关系。
2、类图中的元素和关系
类图中的元素包括:类和接口。
类图中的关系包括:继承(父子类关系)、实现(类与接口关系)、关联(全局变量,组合/聚合)、依赖(局部变量)
2.1、类的创建
public class Person{ private Integer id; private String name; public void setName(String name){ this.name=name; } public String getName(){ return name; } }
为Person类添加属性和操作
Person类的属性界面
修改id属性
Person类的操作界面
修改setName方法
为setName方法添加参数
隐藏Person类显示的几个选项
2.2、接口的创建
修改接口的显示样式
2.3、类图-继承关系
public abstract class BaseDaoImpl{ public void save(Object entity){ } public Object findObject(Object id){ } } public class UserDaoImpl extends BaseDaoImpl{ }
2.4、类图-实现关系
public interface UserDao { } public class UserDaoImpl implements UserDao { }
2.5、类图-关联关系
关联关系,实际上就是类与类之间的联系
关联具有导航性:即双向关系或单向关系
在Rational Rose中,关联关系有一个属性叫Navigable来决定是否显示箭头。注意:当关联关系的两侧都使用Navigable时,则不显示箭头。
2.5.1、关联之聚合关系(By Ref)
聚合关系,表示的是整体和部分的关系,整体与部分可以分开。
UML中,聚合关系使用带空心菱形的实线来表示
Rational Rose中,聚合关系由Aggregate和By Reference实现。
2.5.2、关联之组合关系(By Value)
也是整体与部分的关系,但是整体与部分不可以分开;部分离开整体没有实际意义。
使用带实心菱形的实线来表示
Rational Rose中,组合关系由Aggregate和By Value实现。
2.6、类图-依赖关系
如果A类的一个成员变量是B类型,那么A和B之间是“关联关系”;
如果A类的一方法接受B类型的局部变量,那么A和B之间是“依赖关系”。注意:此处的“依赖关系”和Spring的依赖注入是不同的概念,要注意区分。
依赖关系:A类使用到了另一个B类型,A和B的关系具有:临时性的、偶然性,但是B类的变化会影响到A;代码层面,类B作为参数被类A在某个method方法中使用。
注意:此处的关联关系是全局的,依赖关系是局部的,在Spring中的依赖注入,就是这里的关联关系。
3、类图示例
类图总结:
Show visibility :显示属性和方法可见性
Show all Attribute: 显示所有属性
Show all operactions 显示所有方法
Show operation Signature 显示方法声明
Show operation Stereotype 方法类型
以上是关于UML系列:Class Diagram的主要内容,如果未能解决你的问题,请参考以下文章
Python设计模式 - UML - 类图(Class Diagram)
设计模式 - 学习笔记 - UML统一建模语言 - 类图Class Diagram