Python 编程中的继承与异常处理
1. 继承相关内容
在编程实践中,我们常常会遇到需要对不同对象进行分类和建模的情况。继承作为面向对象编程中非常重要的概念,能帮助我们更好地组织和复用代码。
首先,我们可以观察工作空间中的物理对象,尝试将它们描述成一个继承层次结构。人类几个世纪以来一直在对世界进行分类,所以构建这样的层次结构并非难事。在这个过程中,我们要思考对象类之间是否存在非显而易见的继承关系。如果要在计算机应用程序中对这些对象进行建模,需要考虑它们会共享哪些属性和方法,哪些需要进行多态重写,以及哪些属性是完全不同的。
接下来,我们可以动手写一些代码。不用考虑物理对象的层次结构,因为物理对象通常属性多于方法。可以想想过去一年里一直想做但没来得及做的编程项目,针对要解决的问题,思考一些基本的继承关系并实现它们。同时,要注意有些关系其实并不需要使用继承。另外,思考是否有需要使用多重继承的地方,以及是否可以使用混入(mixin)。可以快速搭建一个原型,不用在意它是否有用或部分可用,使用 python3 -i 进行代码测试,能运行就继续编写,不能运行就进行修复。
以房地产为例,这是一个有效使用多重继承的例子。但在设计之初,可能会对此存在疑虑。我们可以重新审视原始问题,尝试设计出仅使用单继承的解决方案,甚至不使用继承的方案。在这三种方案中,哪种是最优雅的呢?在 Python 开发中,优雅是一个重要目标,但不同程序员对优雅的定义可能不同。有些人更倾向于使用组合来思考和理解问题,而有些人则认为多重继承是最有用的工具。
最后,我们可以为这三种设计添加一些新特性,比如区分可用和不可用的属性。思考哪种设计最容易扩展,哪种最难,并能解释
超级会员免费看
订阅专栏 解锁全文

1035

被折叠的 条评论
为什么被折叠?



