Python
設計模式
解譯器模式
class Expression:
def interpret(self, context):
pass
class TerminalExpresssion(Expression):
def __init__(self):
self.data = ''
def terminalExpreession(self, data):
self.data = data
def interpret(self, context):
if self.data in context:
return True
return False
class AddExpression(Expression):
def __init__(self):
self.expr1 = ''
self.expr2 = ''
def addExpreession(self, expr1, expr2):
self.expr1 = expr1
self.expr2 = expr2
def interpret(self, context):
return self.expr1.interpret(context) and expr2.interpret(context)
class OrExpression(Expression):
def orExpreession(self, expr1, expr2):
self.expr1 = expr1
self.expr2 = expr2
def interpret(self, context):
return self.expr1.interpret(context) or expr2.interpret(context)
T1 = TerminalExpresssion()
T2 = TerminalExpresssion()
T1.terminalExpreession('Name1')
T2.terminalExpreession('Human')
A1 = OrExpression()
A1.orExpreession(T1,T2)
print('Name1 is human? ' + str(A1.interpret('Name1')))
程式碼說明
定義介面、定義儲存字串功能、定義和模式、定義或模式,以下測試。
另外可以思考計算機。
留言
張貼留言