1 //calculate 简单工厂模式
2
3 //简单工厂模式
4 import console;
5
6 //运算类
7 class operation{
8 ctor(){};
9 numberA = 0;
10 numberB = 0;
11 getResult = function(){
12 var result = 0;
13 return result;
14 }
15 }
16
17 //加法类
18 class operationAdd{
19 ctor(){
20 this = ..operation();
21 };
22 getResult = function(){
23 var result = 0;
24 result = this.numberA + this.numberB;
25 return result;
26 }
27
28 }
29
30 //减法类
31 class operationSub{
32 ctor(){
33 this = ..operation();
34 };
35 getResult = function(){
36 var result = 0;
37 result = this.numberA - this.numberB;
38 return result;
39 }
40 }
41
42 //乘法类
43 class operationMul{
44 ctor(){
45 this = ..operation();
46 };
47 getResult = function(){
48 var result = 0;
49 result = this.numberA * this.numberB;
50 return result;
51 }
52 }
53
54 //除法类
55 class operationDiv{
56 ctor(){
57 this = ..operation();
58 };
59 getResult = function(){
60 var result = 0;
61 result = this.numberA / this.numberB;
62 return result;
63 }
64 }
65
66 //简单运算工厂类
67 class operationFactory{
68 ctor(operate){
69 var oper = null;
70 select(operate) {
71 case "+" {
72 oper = ..operationAdd();
73 }
74 case "-"{
75 oper = ..operationSub();
76 }
77 case "*" {
78 oper = ..operationMul();
79 }
80 case "/"{
81 oper = ..operationDiv();
82 }
83 }
84 return oper;
85 };
86 }
87
88 var oper = operationFactory("*")
89
90 oper.numberA = 8;
91
92 oper.numberB = 2;
93
94 var result = oper.getResult()
95
96 console.log(result)
97
98 console.pause(true);