3、面向对象设计与编程中的关键概念与模式

面向对象设计与编程中的关键概念与模式

1. 类关联关系

1.1 双向导航关联

关联的导航性可以是双向的。在这种情况下,两个类之间的关联实线两端可以都有箭头,也可以都没有箭头。

1.2 整体 - 部分关系关联

当两个类存在整体 - 部分关系时,即一个类包含另一个类,有以下两种关联类型:
- 组合(Composition) :表示整体类(Class A)和部分类(Class B)之间有很强的所有权关系。部分类不能独立于整体类而有意义地存在。例如,订单项(LineItem)是订单(Order)的一部分,没有订单,订单项就不能存在。
- 聚合(Aggregation) :是一种较弱的组合形式。整体类比部分类更重要,但与组合不同的是,部分类可以独立于整体类而有意义地存在。例如,球员(Player)是球队(Team)的一部分,球员可以属于多个球队,当一个球队解散时,球员仍然存在。

下面是这两种关系的表格对比:
| 关联类型 | 所有权关系 | 部分类独立性 | 示例 |
| ---- | ---- | ---- | ---- |
| 组合 | 强 | 不能独立存在 | 订单项 - 订单 |
| 聚合 | 弱 | 可以独立存在 | 球员 - 球队 |

对应的 mermaid 流程图如下:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值