Python面向对象编程深入解析
1. 多重继承与混入类
1.1 多重继承的问题
在Python中,某些类层次结构可能会被拒绝,引发 TypeError 。例如:
class X(object): pass
class Y(X): pass
class Z(X,Y): pass # TypeError.
# Can't create consistent method resolution order__
这里,方法解析算法拒绝类 Z ,因为无法确定基类的合理顺序。类 X 在继承列表中先于类 Y ,所以应先检查 X ,但 Y 更特殊,因为它继承自 X 。若先检查 X ,就无法解析 Y 中的特殊方法。实际中,这些问题很少出现,若出现,通常表明程序设计存在严重问题。
1.2 混入类
多重继承在大多数程序中最好避免,但有时会用于定义混入类(mixin classes)。混入类通常定义一组方法,用于“混入”其他类以添加额外功能。例如前面的 DepositCharge 和 WithdrawCharge 类,它们为包含它们作为基类的类添加新方法,如 deposit_fee() 。但不会单独实
超级会员免费看
订阅专栏 解锁全文
1003

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



