深入浅出|用代码拆解软件设计中类的六种关系

本文介绍了如何将类图中类的关系,如关联、继承、实现、聚合、组合和依赖,用Java伪代码在实际编程中体现。作者强调理解这些关系对于业务分析和代码设计的重要性,并提供具体实例进行说明。对于苹果用户,文章建议通过小报童订阅以避免额外费用。
摘要由CSDN通过智能技术生成

上一节我们学会了怎么把需求分解后提炼成类图,其中类图最难让人掌握的点就是类跟类的关系怎么画,我们上节把类之间的六种关系通过现实中的一些例子进行了说明,这六种关系是:

  • 关联

  • 继承

  • 实现

  • 聚合

  • 组合

  • 依赖

在做的各位读者应该大部分都是需要写代码的编程人士,那么心里一定会有一个疑问:类的这些关系看这些例子我是明白了,但在代码里对应什么结构呢?继承、实现还好说,编程语言里都有对应的关键字。可是依赖、聚合、组合这些关系的区别很微妙,编程语言里也没固定的关键字,我用代码该怎么实现这些关系?‍

这些疑问我一开始也有,而且个人的感受是,如果你在代码层面搞不清楚这些关系怎么实现,想画类图来表达业务结构时大概率也不能把它们的关系表达对。这对业务的结构分析其实影响不大,可是想继续让它能指导我们软件代码的设计,就必须把这些关系理清楚、画对了才行。

所以为了解决这些疑虑,让我们画的类图不仅能分析业务,也能指导未来的软件代码的设计,本节我们讲一下这些表示类的关系例子用代码怎么实现。例子都很简单,使用的是Java语言写的的伪代码,无论你是不是Java程序员都能看懂。

选用Java语言的有两个原因:首先大部分人都能看到Java的基础语法,其次是在我会的语言里Java的语法能用最少的代码表达清楚这些关系,不需要我过多地去用文字解释。好了,语言选择上我们不过多着墨,没特殊情况的话本节会是我们课程里唯一需要用代码演示说明的章节。

我们按照文章开头列举六种类关系的先后顺序,逐个做一下说明。

在继续本节的内容前再提醒一下苹果手机的用户,因为苹果税的存在本专栏在微信直接订阅,价格会高于安卓用户,所以专栏在小报童同步更新,苹果手机用户可以通过扫描二维码在小报童订阅阅读,规避额外开销。

8cfd9fb79816ad9b3c17ce75a2e64f55.png

关联/引用关系

A类有一个成员变量引用了B,则是关联关系。同时我们写代码时也经常把这种情况叫做A引用了B。 举个详细点的例子,每个User对象都有一个收货地址的成员变量,收货地址的详细信息则存储在Adress对象中c3500766e0b4f2bb75d993880c8e5c4f.png这个例子用代码表示如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值