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());
}
}
}
【C#】简单工厂模式
最新推荐文章于 2025-07-09 00:28:25 发布