java中 类和面向对象的关系_面向对象-类的关系

类的关系

关系种类: Generalization(泛化关系),Dependency(依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(合成关系)。

其中Aggregation(聚合关系)、Composition(合成关系)属于Association(关联关系),是特殊的Association关联关系。

依赖、关联、聚合、组合、继承、实现,他们的耦合度依次增强。在UML的表示如下:

关系

简单的说,类和类之间的关系有三种:is-a、has-a和use-a关系。is-a 关系也叫继承或泛化,比如学生和人的关系、手机和电子产品的关系都属于继承关系。

has-a 关系通常称之为关联,比如部门和员工的关系,汽车和引擎的关系都属于关联关系;关联关系如果是整体和部分的关联,那么我们称之为聚合关系;如果整体进一步负责了部分的生命周期(整体和部分是不可分割的,同时同在也同时消亡),那么这种就是最强的关联关系,我们称之为合成关系。

use-a 关系通常称之为依赖,比如司机有一个驾驶的行为(方法),其中(的参数)使用到了汽车,那么司机和汽车的关系就是依赖关系。

作用

利用类之间的这些关系,我们可以在已有类的基础上来完成某些操作,也可以在已有类的基础上创建新的类,这些都是实现代码复用的重要手段。复用现有的代码不仅可以减少开发的工作量,也有利于代码的管理和维护,这是我们在日常工作中都会使用到的技术手段。

1 关联关系(Association)

是类与类之间的联接,它使一个类知道另一个类的属性和方法。可以单向和双向。

Java实现:实例变量

1.1 双向关联

1.2 单向关联

1.3 自关联:类的属性对象类型为自身

1.4 多重关联:表示一个类的对象和另一个类的对象连接的个数

1.5 聚合关系(Aggregation):表示一个整体与部分

关联关系的一种,是强关联关系。表示整体和个体之间的关系。

Java实现:实例变量

1.6 组合关系(Composition):同聚合关系+部分与整体有相同的生命周期:例如“皮之不存毛将焉附”

关联关系的一种。比聚合关系更强。要求整体对象负责部分对象的生命周期。

Java实现:实例变量

2 依赖关系(Dependency)

类与类之间的联接,单向。表示一个类依赖于另一个类的定义。

Java实现:局域变量、方法形参、静态调用

3 泛化关系(Generalization)

表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。

Java实现:extends、implements

3.1 实现关系(Realization)

3.2 继承关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值