13、Python面向对象编程深入解析

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() 。但不会单独实

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值