2
class BaseOne(object):
def base_one(self):
print self.first
print self.second
# Do stuffs with self.first and self.second defined from sub class
class BaseTwo(object):
def base_two(self):
print self.first
print self.second
# Do stuffs with self.first and self.second defined from sub class
class Stackoverflow(BaseOne, BaseTwo):
def __init__(self):
super(Stackoverflow, self).__init__()
self.first = 'Stack'
self.second = 'Overflow'
class Serverfault(BaseOne, BaseTwo):
def __init__(self):
super(Serverfault, self).__init__()
self.first = 'Server'
self.second = 'Fault'
Stackoverflow().base_one()
Serverfault().base_one()
在BaseOne
或BaseTwo
,我想使用從子類定義的變量。有沒有更好的方法來做到上述?在Python多重繼承中,父類使用子定義變量有多糟糕?
你可能想,因爲它似乎你正在做一個抽象基類來看看ABC http://docs.python.org/library/abc.html – 2012-07-18 15:31:54