Pythonのお勉強 Part17
■ このスレッドは過去ログ倉庫に格納されています
0054デフォルトの名無しさん
2007/02/19(月) 15:01:49同じものだ、と思う。それでいいのか?(いいと思うが)
import sys
import exceptions
class _strategyTemplate(object): # Abstract なつもり
def _strategyMethod(self):
raise exceptions.NotImplementedError, '%s' %`self.__class__`
class Strategy1(_strategyTemplate):
def __init__(self):
pass
def _strategyMethod(self):
print u"これは戦略1です" # 処理
class Strategy2(_strategyTemplate):
def __init__(self):
pass
def _strategyMethod(self):
print u"これは戦略2です" # 状況が変わったとき、同様の事を実現する別の処理
class acceptStrategy(object):
def __init__(self):
self.__strategy = None
def setStrategy(self, strategyObject):
self.__strategy = strategyObject # オブジェクトの受け入れ
def __getattr__(self, attrname):
return getattr(self.__strategy, attrname)
■ このスレッドは過去ログ倉庫に格納されています