Как я могу определить функцию __init__
как в базовом, так и в производном абстрактных классах и сделать так, чтобы все self.*
были доступны в абстрактном методе? Например:
Как правильно использовать функции, импортированные в базовый класс абстрактного класса? Например: в base.py у меня есть следующее:
import abc
class BasePizza(object):
__metaclass__ = abc.ABCMeta
def __init__(self):
self.firstname = "My Name"
@abc.abstractmethod
def get_ingredients(self):
"""Returns the ingredient list."""
Затем я определяю метод в diet.py:
import base
class DietPizza(base.BasePizza):
def __init__(self):
self.lastname = "Last Name"
@staticmethod
def get_ingredients():
if functions.istrue():
return True
else:
return False
Однако когда я запускаю diet.py
, у меня есть доступ только к self.lastname
. Я бы хотел, чтобы у DietPizza
были и self.firstname
, и self.lastname
. Как я могу это сделать?