<p>我已经从一个库中对一个大型的主类进行了子类化。我的子类工作得很好,但我现在还想为主类使用的另一个类创建子类。但是,如果不编辑master类来使用我的新子类,我就看不出该怎么做。换句话说,我想表明master的子类中类“abc”的用法应该被“abc”的子类替换这里有一些伪代码来说明我想继承getenginestats但使用子类返回类型的问题。我知道我可以重写一个或两个方法,但是第二个类在整个主类中都使用,所以这不是一个实际的方法</p>
<pre><code>class vehicle(object):
horsepower = 0
def getenginestats():
# returns an enginestats object
stats = EngineStats()
stats.rpm = 1000
return stats
class EngineStats(object):
rpm = 0
class MyEngineStats(EngineStats):
# add battery voltage to stats
voltage = 0
class ElectricCar(vehicle)
batterysize = 0
prius = ElectricCar()
# how do I get ElectricCar.getenginestats into a MyEngineStats object??
mystats = prius.getenginestats
myvoltage = mystats.voltage
</code></pre>
<p>比尔</p>