【发布时间】:2013-12-31 15:06:56
【问题描述】:
我有以下课程:
class A:
def __init__(self,x):
self.x = x
self.xp = self.preprocess(x)
def preprocess(self,x):
return(x**2)
class B(A):
def __init__(self,x,y):
A.__init__(self,x)
self.y = y
def results():
return(self.xp + self.y)
在这个玩具示例中,A 用于读取一些数据 (x) 并对其进行预处理 (xp)。
B 进一步读取一些数据 (y) 并使用来自A 的预处理数据生成结果。
现在我需要创建一个类C。 C 和 B 的区别完全一样,所以我很想
简单定义为:
class C(B):
pass
但是,我需要重写A.preprocess() 方法,以便在构造C 时使用正确的预处理。有没有简单直接的方法来做到这一点?
【问题讨论】:
标签: python inheritance overriding