我从图书馆继承了一个大型大师班。我的子类工作正常,但我现在还想对主人使用的另一个类进行子类化。但是,如果不编辑主类来使用我的新子类,我不知道如何。换句话说,我想表明在 master 的子类中使用类“abc”应该被“abc”的子类替换这里有一些伪代码来说明我想继承 getenginestats 但使用子类返回类型的问题。我知道我可以覆盖一两个方法,但是第二个类在整个主程序中使用,因此这不是一种实用的方法。
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
账单
相关分类