UML模型和类的六大关系

UML基本介绍

在这里插入图片描述

UML图

  1. 用例图
  2. 静态结构图:类图、对象图、包图、组件图、部署图
  3. 动态行为图:交互图(时序图和协作图)、状态图、活动图

类间关系

依赖关系

只要是在类需要用到对方,那么他们之间就存在依赖关系,如果不存在用到的类,无法通过编译

  1. 类的成员变量
  2. 类中方法的返回类型
  3. 类中方法接收的参数类型
  4. 方法中使用到
class B{
	private C c;
	public C getC(){
		return c;
	}
}
class C{
}
class A{
	private B b;
	public C getC(){
		return b.getC();
	}
}

这里就表示A依赖B和C,B依赖C

泛化关系

泛化关系实际上就是继承关系,它是依赖关系的特例

class B{
}
class A extends B{
	
}

这里A泛化(继承)了B

实现关系

实现关系实际上就是A实现了B中抽象的方法,它是依赖关系的特例

interface B{}
class A implements B{}

这里A实现了B

关联关系

关联关系实际上就是类与类之间的联系,他是依赖关系的特例
关联具有导航性:即双向关系和单向关系
关系具有多重性,如1表示一个,0…表示0个或多个,“0,1”表示0个或者一个,“n,m”表示n到m个都可以,m…表示至少m个

class B{
}
class A{
	private B b;
}

这是单向关联

class B{
	private A a;
}
class A{
	private B b;
}

这是双向关联

聚合关系

聚合关系表示的是整体和部分的关系,整体和部分可以分开聚合关系是关联关系的特例,所以它具有方向性和多重性(类中某个属性,可以为null,也可以通过set方法来设置值,则表示聚合)

class A{
	private B b;
	public void setB(B b){
		this.b = b;
	}
}

这里B聚合于A

组合关系

组合关系也是整体和部分的关系,但是整体和部分不可以分开,因为整体是由部分组成的,不可或缺,(类中某个属性,有非空默认值,或者该值在构造器中赋值,表示组合关系)

class A{
	private B b =  new B();
}

这里B组合于A

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值