程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> 設計模式:簡單工廠

設計模式:簡單工廠

編輯:C#基礎知識

namespace SimleFactory { public class Operation { public double NumberA { get; set; } public double NumberB { get; set; } public virtual double GetResult() { double result = 0; return result; } } public class OperationAdd:Operation { public override double GetResult() { return NumberA + NumberB; } } public class OperationSub : Operation { public override double GetResult() { return NumberA - NumberB; } } public class OperationMul : Operation { public override double GetResult() { return NumberA * NumberB; } } public class OperationDiv : Operation { public override double GetResult() { if (NumberB == 0) throw new Exception("除數不能為0."); return NumberA / NumberB; } } public class OperationFactory { public static Operation CreateOperation(string operate) { Operation oper = null; switch(operate) { case "+": oper = new OperationAdd(); break; case "-": oper = new OperationAdd(); break; case "*": oper = new OperationAdd(); break; case "/": oper = new OperationAdd(); break; } return oper; } } }

  測試代碼:

            Operation oper = OperationFactory.CreateOperation("+");
            oper.NumberA = 1;
            oper.NumberB = 2;
            double result= oper.GetResult();
            Assert.AreEqual(result, 3);
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved