【发布时间】:2015-08-11 09:34:25
【问题描述】:
如何在基类和派生抽象类中定义__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。我该怎么做?
【问题讨论】:
标签: python python-3.x abstract-class abc