UML类图详解

UML类图详解

类图用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系。类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合

一 依赖关系

  1. 基本介绍
    只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编绎都通过不了。
  2. 案例代码
public class PersonServiceBean {
	private PersonDao personDao;//类
	public void save(Person person){}
	public IDCard getIDCard(Integer personid){}
	public void modify(){
		Department department = new Department();
	}
}
public class PersonDao{}
public class IDCard{}
public class Person{}
public class Department{}
  1. 类图
    依赖使用虚线箭头,指向所依赖的类
    在这里插入图片描述
  2. 小结
    以下情况是依赖的情况:
    (1)类中用到了对方
    (2)是类的成员属性
    (3)是方法的返回类型
    (4)是方法接收的参数类型
    (5)方法中使用到

二 泛化关系(继承)

  1. 基本介绍
    泛化关系实际上就是继承关系,他是依赖关系的特例。
  2. 案例代码
public abstract class DaoSupport{
	public void save(Object entity){
	}
	public void delete(Object id){
	}
}
public class PersonServiceBean extends Daosupport{
}
  1. 类图
    使用实线空心箭头指向父类
    在这里插入图片描述
  2. 小结
    (1)泛化关系其实就是继承关系
    (2)如果 A 类继承了 B 类,我们就说 A 和 B 存在泛化关系

三 实现关系

  1. 基本介绍
    实现关系实际上就是 A 类实现 B 接口,他是依赖关系的特例。
  2. 案例代码
public interface PersonService {
	public void delete(Interger id);
}
public class PersonServiceBean implements PersonService {
	public void delete(Interger id){}
}
  1. 类图
    使用虚线空心箭头指向接口
    在这里插入图片描述

四 关联关系

  1. 基本介绍
    关联关系实际上就是类与类之间的联系,它是依赖关系的特例。关联具有导航性:即双向关系或单向关系;关联具有多重性。
  2. 案例代码
单向一对一关系
public class Person{
	private IDCard card;
}
public class IDCard{}

双向一对一关系
public class Person{
	private IDCard card;
}
public class IDCard{
	private Person person;
}
  1. 类图
    使用实线箭头指向所关联的类
    在这里插入图片描述

五 聚合关系

  1. 基本介绍
    聚合关系(Aggregation)表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例,所以他具有关联的导航性与多重性。
  2. 案例代码
public class Computer{
	private Mouse mouse;
	private Monit monit;
	public void setMouse(Mouse mouse){
		this.mouse = mouse;
	}
	public void setMonit(Monit monit){
		this.monit = monit;
	}
}
  1. 类图
    使用带空心菱形线,空心菱形在整体这边
    在这里插入图片描述

六 组合关系

  1. 基本介绍
    组合关系:也是整体与部分的关系,但是整体与部分不可以分开。
  2. 案例代码
public class Person{
private IDCard card;
private Head head = new Head();
}
public class IDCard{}
public class Head{}
  1. 类图
    组合使用带黑色菱形线,黑色菱形在整体这边
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值