Pythonのお勉強 Part17
■ このスレッドは過去ログ倉庫に格納されています
0052デフォルトの名無しさん
2007/02/19(月) 14:57:18視点が違うだけで同じものじゃないか? 以下、stateパターン。
import sys
import exceptions
class _StateTemplate(object): # Abstract なつもり
def _showMessage(self):
raise exceptions.NotImplementedError, '%s' %`self.__class__`
class myState1(_StateTemplate):
def __init__(self):
pass
def _showMessage(self):
print u"こんにちは。" # ある状態(例えば昼)に対応した処理
class myState2(_StateTemplate):
def __init__(self):
pass
def _showMessage(self):
print u"今晩は。" # ある状態(例えば夜)に対応した処理
class acceptState(object):
def __init__(self):
self.__currentState = None
def setState(self, stateObject):
self.__currentState = stateObject # オブジェクトの受け入れ
def __getattr__(self, attrname):
return getattr(self.__currentState, attrname)
■ このスレッドは過去ログ倉庫に格納されています