【发布时间】:2021-08-02 12:27:22
【问题描述】:
from abc import ABC, abstractmethod
class Example(ABC):
def smile(self):
print("smile")
我的理解是Example在继承ABCclass时变成AbstractClass。 AbstractClass 无法实例化,但
以下代码执行没有错误
example = Example()
【问题讨论】:
-
添加@abstractmethod 装饰器,以便类在实例化之前必须被覆盖。
-
你是说
Example不是AbstractClass,直到它包含@abstractmethoddecorator?那么继承ABC会做什么呢? -
它确实变得抽象了,尽管其中包含的方法是具体的。您需要将内部的方法抽象化,以便您无法实例化它。
标签: python inheritance abstract-class abstract abc