1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Calculate cal = factory.CreateOper("-"); cal.A = 10; cal.B = 20; Console.WriteLine(cal.GetResult());
cal = factory.CreateOper("+"); cal.A = 10; cal.B = 20; Console.WriteLine(cal.GetResult()); } }
abstract class Calculate { double _NumA = 0; double _B = 0;
public double A
{ get { return _NumA; } set { _NumA = value; } }
public double B
{ get { return _B; } set { _B = value; } }
public abstract double GetResult(); }
class Add : Calculate { public override double GetResult() { return A + B; } }
class Minus : Calculate { public override double GetResult() { return A - B; } }
class factory { public static Calculate CreateOper(string oper) { Calculate op = null; switch (oper) { case "+":
op = new Add(); break;
case "-":
op = new Minus(); break; }
return op; } } }
|