例如:
class Pet(object):
def __init__(self, name, species):
self.name = name
self.species = species
def getName(self):
return self.name
def getSpecies(self):
return self.species
def __str__(self):
return "%s is a %s" % (self.name, self.species)
class Dog(Pet):
def __init__(self, name, chases_cats):
Pet.__init__(self, name, "Dog")
self.chases_cats = chases_cats
def chasesCats(self):
return self.chases_cats
如您所见, Dog 继承自 pet。我完全理解代码。但是为什么我们必须在 Dog 类中调用宠物的 init 呢?为什么仅仅在狗类的第一行中调用它就足够了(类 Dog(Pet) )?它似乎只会创建更混乱的代码。对我来说,这有点扼杀了 Python 中的继承点。