【C#】简单工厂模式

来源:互联网 发布:usleep 源码 编辑:程序博客网 时间:2024/03/29 01:47
using System;// 可维护,可复用,可扩展,灵活性好namespace 简单工厂模式{// 运算类public class Operation{private double numberA = 0;public double NumberA {get {return numberA;}set {numberA = value;}}private double numberB = 0;public double NumberB {get {return numberB;}set {numberB = value;}}public virtual double GetResult(){double testResult = 0;return testResult;}}// 加法class OperationAdd:Operation{public override double GetResult (){double addResult = 0;addResult = NumberA + NumberB;return addResult;}}// 减法class OperationSub :Operation{public override double GetResult (){double subResult = 0;subResult = NumberA - NumberB;return subResult;}}// 乘法class OperationMul :Operation{public override double GetResult (){double mulResult = 0;mulResult = NumberA * NumberB;return mulResult;}}// 除法class OperationDiv :Operation{public override double GetResult (){double divResult = 0;divResult = NumberA / NumberB;return divResult;}}public class OperationFactory{public static Operation createOperate(string operate){Operation oper = null;switch (operate) {case "+" :oper = new OperationAdd();break;case "-":oper = new OperationSub();break;case "*":oper = new OperationMul();break;case "/":oper = new OperationDiv();break;}return oper;}}class MainClass{public static void Main (string[] args){Operation oper;oper = OperationFactory.createOperate("/");oper.NumberA = 12;oper.NumberB = 2;Console.WriteLine (oper.GetResult());}}}

1 0
原创粉丝点击