繁体   English   中英

如何在 python 的派生 class 中调用具有相同名称方法的基本 class 的方法?

[英]How to call a method of base class with same name method in derived class in python?

代码:-

class Animal():
        
    def __init__(self) -> None:
        print("Animal Created")
        
            
    def eat(self):
        print("Animal Eating")
            
class Dog(Animal):
    
    def __init__(self) -> None:
        # Animal.__init__(self)
        print ("Dog Created")
        
    def eat(self):
        print("Dog Eating")
    
mydog = Dog()
mydog.eat()

在这里,当我用 mydog object 调用eat() 方法时,它会打印“Dog Eating”,有没有办法用 mydog object 调用基础动物 class 的eat() 方法,就像这样

mydog.Animal.eat() or mydog.eat(Animal)

我不想使用 super(),因为它会从子 class 调用eat(),所以它会打印两个语句“动物吃”和“狗吃”,这是我不想要的,我想调用一次只有一个。

可以,可以直接调用Animaleat方法,传入object作为参数。

Animal.eat(mydog)

虽然如果您给方法提供不同的名称,它可能会使代码更容易混淆。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM