【发布时间】:2018-06-28 10:22:28
【问题描述】:
是否可以让一个抽象类继承自 Python 中的另一个抽象类?
如果是这样,我应该怎么做?
【问题讨论】:
标签: python class oop abstract abc
是否可以让一个抽象类继承自 Python 中的另一个抽象类?
如果是这样,我应该怎么做?
【问题讨论】:
标签: python class oop abstract abc
看看abc 模块。对于 2.7:link。对于 3.6:link
给你的简单例子:
from abc import ABC, abstractmethod
class A(ABC):
def __init__(self, value):
self.value = value
super().__init__()
@abstractmethod
def do_something(self):
pass
class B(A):
@abstractmethod
def do_something_else(self):
pass
class C(B):
def do_something(self):
pass
def do_something_else(self):
pass
【讨论】:
from abc import ABCMeta, abstractmethod
class OriginalAbstractclass(metaclass=ABCMeta):
@abstractmethod
def sample_method(self):
pass
class InheritedAbstractClass(OriginalAbstractclass, metaclass=ABCMeta):
@abstractmethod
def another_method(self):
pass
class ConcreteClass(InheritedAbstractClass):
def some_method(self):
pass
def another_method(self):
pass
【讨论】: