class Animal(object):
def eat(self):
print("I eat all")
class C(object):
def eat(self):
print("I too eat")
class Wolf(C, Animal):
def eat(self):
print("I am Non Veg")
super(Wolf, self).eat()
Animal.eat(self)
w = Wolf()
w.eat()
Run Code Online (Sandbox Code Playgroud)
我正在学习python中的多重继承,我想使用方法从派生类访问Animal和方法.Ceatsuper
super内部调用C 类方法的默认调用eat,但调用Animal我使用的类方法.Animal.eat(self)我的问题是如何Animal使用super方法调用类方法.
如果你想做一个理智的多重继承,你需要每个人都要调用,super除了一个基类,它的职责是不要调用super.使用相同的方法拥有两个完全独立的基类并不是使用OOP理论有意义的事情,并且不是Python具有良好处理工具的东西.
您可能会在很多示例中看到两个显然独立的基类,但在这些情况下,示例方法通常是__init__,并且它的单个非超级调用基类是object.