UML关系

1、关联关系(association)


用一条直线表示,它描述不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。

   单向关联关系则用一条带箭头的直线来表示的。

    事例代码:

public class ClassA {	
//关联是对象间长期的一种关系,被调用类表现为调用类的引用,或者调用类的属性,
//常见的关联关系有一对一,一对多,多对多关系。
	private ClassB classB;
	public void methodA(){
		classB.methodB();
	}
}

 

2、依赖关系(dependency)


   用一条带箭头的虚线表示,它描述一个对象的修改会导致另一个对象的修改这样的关系。
依赖关系除了“知道”其它对象的存在,还会“使用”其它对象的属性或方法。
双向依赖是一种非常不好的结构,我们总是应当保持单向依赖,杜绝双向依赖关系的产生。

   事例代码:

public class ClassA {
	// 依赖是对象间短暂的一种关系,被调用类表现为调用类的局部变量,方法的参数,
	// 以及调用类调用被调用类的静态方法 
	public void methodA(ClassB classB){	
		classB.methodB();
	}
}

 

 3、实现关系(realization)


    用一条带空心箭头的虚线表示,业务目标可能有多种可能的实现途径,每一种实现途径
可以用用例实现来表示,而用例实现与基本用例之间就构成了实现关系。

 

4、泛化关系(generalization)

  用一条带空心箭头的直线表示的,泛化关系表示一个类对另一个类的继承。

 

5、聚合关系(aggregation)


   用一条带空心菱形箭头的直线表示的,(A聚合到B上,或者说B由A组成)。
聚合关系是关联关系的一种特例,体现的是整体与部分、拥有的关系,即has-a的关系,
整体与部分是可分离的,具有各自的生命周期。
与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部分依然存在。

 

6、组合关系(composition)


   用一条带实心菱形箭头的直线表示的,(A组合成B,或者说B由A构成)。
组合关系也是关联关系的一种特例,体现的是contanins-a的关系,关系比聚合更强,
整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。
组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也将消亡。

 

7、扩展关系(extends)


   用一条带箭头的虚线加版型<<extends>>来表示的。
与包含关系不同的是,扩展表示的是“可选”,而不是“必需”。

 

8、包含关系(include)


   用一条带箭头的虚线加版型<<include>>来表示的,
与扩展用例不同的是,包含用例表示的是“必需”而不是“可选”,
这意味着如果没有包含用例,基本用例是不完整的。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值