我知道通过继承基类。基类中的所有功能也可以在派生类中访问。但是它是如何工作的,这意味着可以在基类中访问子类中定义的函数。
我用一个例子尝试了上面。而且效果很好。但是那怎么可能。我无法理解工作背后的逻辑。
class fish:
def color(self):
# _colour is a property of the child class. How can base class access this?
return self._colour
class catfish(fish):
_colour = "Blue Cat fish"
def speed(self):
return "Around 100mph"
def agility(self):
return "Low on the agility"
class tunafish(fish):
_colour = "Yellow Tuna fish"
def speed(self):
return "Around 290mph"
def agility(self):
return "High on the agility"
catfish_obj = catfish()
tunafish_obj = tunafish()
print(catfish_obj.color())
print(tunafish_obj.color())
我知道实例是通过自我传递的,但是从逻辑上讲,子类的详细信息应该不能在基类中访问,对吗?
参考方案