简单工厂模式

Posted 魂~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单工厂模式相关的知识,希望对你有一定的参考价值。

 1 class Operation():
 2 
 3     def __init__(self, NumberA=0, NumberB=0):
 4         self.NumberA = NumberA
 5         self.NumberB = NumberB
 6 
 7     def GetResult(self):
 8         pass
 9 
10 
11 class AddOp(Operation):
12 
13     def GetResult(self):
14         return self.NumberB + self.NumberA
15 
16 
17 class MinusOp(Operation):
18 
19     def GetResult(self):
20         return self.NumberA - self.NumberB
21 
22 
23 class MultiOp(Operation):
24 
25     def GetResult(self):
26         return self.NumberA * self.NumberB
27 
28 
29 class DivideOp(Operation):
30 
31     def GetResult(self):
32         try:
33             return 1.0 * self.NumberA / self.NumberB
34         except ZeroDivisionError:
35             raise
36 
37 
38 class OperationFatory():
39 
40     def ChooseOperation(self, op):
41         if op == +:
42             return AddOp()
43         if op == -:
44             return MinusOp()
45         if op == *:
46             return MultiOp()
47         if op == /:
48             return DivideOp()
49 
50 
51 if __name__ == __main__:
52     ch = ‘‘
53     while not ch == q:
54         NumberA = float(input(Please input number1:  ))
55         op = input(Please input the operation:  )
56         NumberB = float(input(Please input number2:  ))
57         OPFactory = OperationFatory()
58         OPType = OPFactory.ChooseOperation(op)
59         OPType.NumberA = NumberA
60         OPType.NumberB = NumberB
61         print(The result is:, OPType.GetResult())
62         print(\n#--  input q to exit any key to continue)
63         try:
64             ch = input()
65         except:
66             ch = ‘‘

 

以上是关于简单工厂模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式学习——简单工厂模式工厂模式抽象工厂模式

PHP面向对象之选择工厂和更新工厂

设计模式-简单工厂工厂方法模式抽象工厂模式详解

设计模式之简单工厂模式

C++工厂模式(简单工厂工厂方法抽象工厂)

C++工厂模式(简单工厂工厂方法抽象工厂)