У меня есть 2 уровня наследования, так что родительский класс является абстрактным классом, который инициализирует общие вещи для своих дочерних элементов первого уровня.Кроме того, каждый дочерний элемент первого уровня также является базовым абстрактным классом, который инициализирует дополнительные уникальные параметры для классов, наследующих второй (и последний) уровень
Классы будут выглядеть примерно так:
Абстрактныйродитель:
class AbstractParent(metaclass=ABCMeta):
def __init__():
<initialize common stuff>
@abstractmethod
def abstract_method():
pass
дочерний элемент первого уровня:
class AbstractChild(AbstractParent, metaclass=ABCMeta):
def __init___():
AbstractParent.__init__(self)
<initialize common stuff relevant for AbstractChild>
@abstractmethod
def abstract_method():
pass
дочерний элемент второго и последнего уровня:
class Child(AbstractChild):
def __init___():
AbstractChild.__init__(self)
def abstract_method():
<implementation of something...>
Является ли хорошей практикой использование многоуровневыхнаследование такое, что несколько уровней абстрактно похожи на те, что я представил выше?
Спасибо.