Pythonのお勉強 Part17at TECH
Pythonのお勉強 Part17 - 暇つぶし2ch52:デフォルトの名無しさん
07/02/19 14:57:18
よく考えたら、stateパターンとStrategyパターンは、
視点が違うだけで同じものじゃないか? 以下、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)



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch