【发布时间】:2017-07-30 11:19:38
【问题描述】:
如果我有两个子类都继承自同一个父类
class Parent(object):
def __init__(self):
self.name = 'parent'
self.position = 0
class FirstChild(Parent):
def __init__(self):
self.speed = 1
class SecondChild(Parent):
def __init__(self):
self.final = 100
def remaining_distance(self):
print('Remaining distance is %i.' %(self.final - self.position)
现在我从 FirstChild 定义一个实例。
Child1 = FirstChild()
我想在 Child1 上使用 SecondChild 中的方法。我该怎么做? 我知道
SecondChild.remaining_distance(Child1)
会给我一条错误消息。有没有代码可以无误地达到预期的效果?
谢谢你:)
【问题讨论】:
-
这个不行,FirstChild 和 SecondChild 不共享任何东西。能不能把remaining_distance函数放到Parent里面?
-
你不能,
Child1不是SecondChild的实例。 -
remaining_distance显然应该是Parent或FirstChild的方法。
标签: python python-2.7 inheritance multiple-inheritance