购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.9 练习

这是一本实用的书。因此,我们不会搭配一堆虚构的面向对象的问题供你分析和设计。相反,我们想为你提供一些可以应用于你自己项目的想法。如果你以前有过面向对象的经验,那么在本章中你不需要花太多精力。但是,如果你已经使用Python一段时间,但从未真正关心过这些类相关的概念,那么它们是很有用的思考和练习材料。

首先,想想你最近完成的一个编程项目,确定设计中最重要的对象,尝试找出这个对象尽可能多的属性。它有什么属性:颜色?重量?尺寸?利润?成本?名称?ID?价格?风格?

思考属性的数据类型。它们是基础类型还是类?其中一些属性实际上是乔装的行为吗?有时,看起来像属性的数据实际上是根据对象的其他属性计算得出的,你可以使用一个方法来做计算。该对象还有哪些其他方法或行为?哪些对象调用了这些方法?它们与这个对象有什么样的关系?

现在,考虑一个即将要做的项目。项目是什么并不重要,它可能是一个有趣的业余项目或数百万美元的合同。它不必是一个完整的应用,它可以只是一个子系统。做一下基本的面向对象分析,识别需求和交互的对象。画出系统最抽象的类图。识别主要的交互对象,识别次要的支持对象。找出最重要的对象的属性和方法。对不同级别的对象做不同程度的抽象。找出可以使用继承或组合的地方。寻找应该避免继承的地方。

目标不是设计一个系统(如果你愿意且有时间,当然欢迎你这样做),目标是考虑面向对象的设计。关注你已经做过的项目,或将来要做的项目,尽量真实一点儿。

最后,访问你最喜欢的搜索引擎并查找有关UML的教程。可能有几百种教程,找到一种最适合你的学习方法。为你之前识别的对象绘制一些类图或序列图。不要太执着于记住语法(如果它很重要,你总是可以再看一遍),重点是感受一下UML。有些东西会留在你的大脑中,下次讨论面向对象编程的时候,如果你能快速地画出一张图,可以让交流变得更容易。 4gSY/A9CkD7BfWgpwfjxk9k974FbCy+DOgWMKhNXTr9Tx9HByp35+ff4K8ZuBW9b

点击中间区域
呼出菜单
上一章
目录
下一章
×