【发布时间】:2014-02-01 14:26:11
【问题描述】:
说,例如,我有两个(python(3.3))类a和b,它们有自己的方法:
class a:
def m1(self):
print("Hi 1")
def m2(self):
print("Hi 2")
##...other methods...
class b(a):
def k1(self):
print("Other hi")
如何使b 类继承a 的所有方法,除了(例如)m2? (除了复制/粘贴,这不算数。)所以表达式a.m2() 是合法的,但b.m2() 会抛出AttributeError。
【问题讨论】:
-
Python 是否允许您定义
b.m2()以直接抛出该错误?我的意思是说您可以将函数定义覆盖为throw new AttributeError()(或任何适当的语法)... -
相反,不从 a 继承 是正确的解决方案。只需根据需要从
a复制方法即可。
标签: python inheritance