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

2024-09-25 10:26:39 发布

您现在位置: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对象调用eat()方法时,它会打印“Dog Eating”,有没有办法用mydog对象调用基础动物类的eat()方法,比如有这样的东西

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

我不想使用super(),因为它会从child类中调用eat(),所以它会打印“吃动物”和“吃狗”这两个语句,我不想这样,我只想一次调用一个


Tags: 对象方法代码selfnoneinitdefclass
1条回答
网友
1楼 · 发布于 2024-09-25 10:26:39

是的,您可以直接调用Animaleat方法,将对象作为参数传递

Animal.eat(mydog)

尽管如果您给方法起不同的名字,可能会减少代码的混乱

相关问题 更多 >