Python实现简单工厂模式
如图所示。
代码如下:
#工厂模式特点:工厂根据条件产生不同功能的类 class Operation(object): def get_result(self): pass class Add(Operation):#继承自类Operation def get_result(self): return self.op1+self.op2 class Sub(Operation): def get_result(self): return self.op1-self.op2 class Mul(Operation): def get_result(self): return self.op1*self.op2 class Div(Operation): def get_result(self): return self.op1/self.op2 class Undef(Operation): def get_result(self): print("no define operator") class Factory(object): operator=dict()#将operator定义为一个字典 operator["+"]=Add() operator["-"]=Sub() operator["*"]=Mul() operator["/"]=Div() #operator:{"+":Add(),"-":Sub,"*":Mul,"/":Div} def create_operator(self,ch): op=self.operator[ch] if ch in self.operator else Undef() return op#op的值是四则运算类中的一个或者无定义 def main(): print("*" *30) op=input("operator:")#输入运算符 opa=int(input("a:")) opb=int(input("b:")) factory=Factory() cal=factory.create_operator(op)#获取到相应的类 cal.op1=opa#该类有两个成员 cal.op2=opb print(cal.get_result())#改类调用成员函数计算出结果 if __name__=='__main__': while 1: main() pass出自:https://blog.****.net/freeking101/article/details/53073716