Java UML:类的横向关系:依赖,关联,聚合,组合 (这四个,强弱关系依次增强)

1.依赖关系

(1)A 类中用到了B 类对象(或可描述为:A 类用到了B 类中定义的方法尤为常见);

(2)建议单向依赖,尽量避免双向依赖,防止耦合性过大;

(1)注意画图方式,虚线箭头。

由下图(摘自《Java面向对象编程》,作者:孙卫琴)描述可知:依赖关系中,B类对象不是A类的一个成员属性。


2.关联关系

(1)一个类知道另一个类的属性和方法,常见的实现方式是,B类对象是A类的成员属性;(逻辑上有需要知道的另一个类的属性和方法的需求和自然逻辑性

(2)可以是单向关联,也可以是双向关联;

(3)注意画图方式。

注:关联可能偏向于类的课访问性

注:关联关系,掌握的不好,


3.聚合关系

(1)进化版关联关系,整体与部分的关系;

(2)注意画图方式。

可知,关联关系是平级类之间的关系,聚合关系是不平级类之间额关系。


4.组合关系

(1)关联关系的一种;

(2)一个类是另一个类的”附庸“,二者不可分。

从下图(摘自《Java面向对象编程》,作者:孙卫琴)描述可知:组合关系中,【代表部分的对象】需要依附于【代表整体的对象】,且【代表整体的对象】可以把【代表部分的对象】的管理权移交给另一个【代表整体的对象】;

【代表整体的对象】负责将【代表部分的对象】湮灭。


注:(1)这四种关系的逻辑应用场景,需要在实际业务中逐渐加深理解;

       (2)通过UML 工具,可以方便梳理程序类的逻辑关系,一个辅助工具。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值