本文实例讲述了Python设计模式之简单工厂模式。分享给大家供大家参考,具体如下:
简单工厂模式(简单工厂模式):是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
下面使用简单工厂模式实现一个简单的四则运算
#?usr/bin/env python # - * -编码:utf - 8 - * __author__=鞍驳稀? ''' 大话设计模式 用任意一种面向对象语言实现一个计算器控制台程序。要求输入两个数和运算符号,得到结果 设计模式,简单工厂模式 简单工厂模式(简单工厂模式):是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 ''' 操作类(对象): ''' 四则运算的父类,接收用户输入的数的值 ''' def __init__(自我,number1=0,科学=0): 自我。num1=number1 自我。num2=科学 def GetResult(自我): 通过 通过 #加法运算类 类OperationAdd(操作): def GetResult(自我): 回归自我。num1 + self.num2 #减法运算类 类OperationSub(操作): def GetResult(自我): 回归自我。num1——self.num2 #乘法运算类 类OperationMul(操作): def GetResult(自我): 回归自我。num1 * self.num2 #除法运算类 类OperationDiv(操作): def GetResult(自我): 如果自我。num2==0: 返回“除数不能为0的 返回1.0 *自我。num1/self.num2 #其他操作符类 类OperationUndef(操作): def GetResult(自我): 返回的操作符错误的 #简单工厂类 类OperationFactory(对象): def choose_oper(自我,ch): 如果ch==?”: 返回OperationAdd () elif ch==?”: 返回OperationSub () elif ch==?’: 返回OperationMul () elif ch==?? 返回OperationDiv () 其他: 返回OperationUndef () if __name__==癬_main__”: ch=" 虽然不是ch==拔省? num1=输入(“请输入第一个数值:') ③=str (raw_input(“请输入一个四则运算符:")) num2=输入(“请输入第二个数值:') #操作(num1, num2)=OperationFactory () oper_obj=OF.choose_oper(打开) oper_obj。num1=num1 oper_obj。num2=num2 打印“运算结果为:“,oper_obj.GetResult () >之前运行结果:
请输入第一个数值:,51
请输入一个四则运算符:,-
请输入第二个数值:,15
运算结果为:,36引用>
这几个类的结构图如下:
专门定义一个操作类作为父类,加减乘除运算类继承操作类,OperationFactory类用来决定什么时候创建对应的类
更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python套接字编程技巧总结》,《Python函数使用技巧总结》,《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
Python设计模式之简单工厂模式实例详解