【发布时间】:2022-11-22 02:40:41
【问题描述】:
我定义了抽象方法sound()在@abstractmethod下非抽象类Animal不扩展ABC 和Cat班级延伸Animal班级,然后我可以实例化两者Animal 和Cat 类没有任何错误如下图:
from abc import ABC, abstractmethod
class Animal: # Doesn't extend "ABC"
@abstractmethod # Here
def sound(self):
print("Wow!!")
class Cat(Animal):
pass
obj1 = Animal() # Here
obj1.sound()
obj2 = Cat() # Here
obj2.sound()
输出:
Wow!!
Wow!!
所以,是抽象方法 一个普通的实例方法在非抽象类在 Python 中?
【问题讨论】:
标签: python python-3.x abstract-class abstract-methods instance-methods