C#设计模式之简单工厂
2013-02-16 16:38
369 查看
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
简单工厂实现加减乘除
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//运算类
public class Operation
{
public double _numberA;
public double _numberB;
public double NumberA
{
set { _numberA = value; }
get { return _numberA; }
}
public double NumberB
{
set { _numberB = value; }
get { return _numberB; }
}
public virtual double GetResult()
{
double result = 0.0;
return result;
}
}
//加减乘除类
class OperationAdd : Operation
{
public override double GetResult()
{
double result = 0.0;
result = NumberA + NumberB;
return result;
}
}
class OperationSub : Operation
{
public override double GetResult()
{
double restult = 0.0;
restult = NumberA - NumberB;
return restult;
}
}
class OperationMul : Operation
{
public override double GetResult()
{
double result = 0.0;
result = NumberA * NumberB;
return result;
}
}
class OperationDiv : Operation
{
public override double GetResult()
{
double result = 0.0;
if (0 != NumberB)
{
result = NumberA / NumberB;
}
return result;
}
}
//简单工厂类
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;
}
}
//调用
Operation oper;
oper = OperationFactory.CreateOperate("+");
oper.NumberA = 100;
oper.NumberB = 20;
double result = oper.GetResult();
简单工厂实现加减乘除
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//运算类
public class Operation
{
public double _numberA;
public double _numberB;
public double NumberA
{
set { _numberA = value; }
get { return _numberA; }
}
public double NumberB
{
set { _numberB = value; }
get { return _numberB; }
}
public virtual double GetResult()
{
double result = 0.0;
return result;
}
}
//加减乘除类
class OperationAdd : Operation
{
public override double GetResult()
{
double result = 0.0;
result = NumberA + NumberB;
return result;
}
}
class OperationSub : Operation
{
public override double GetResult()
{
double restult = 0.0;
restult = NumberA - NumberB;
return restult;
}
}
class OperationMul : Operation
{
public override double GetResult()
{
double result = 0.0;
result = NumberA * NumberB;
return result;
}
}
class OperationDiv : Operation
{
public override double GetResult()
{
double result = 0.0;
if (0 != NumberB)
{
result = NumberA / NumberB;
}
return result;
}
}
//简单工厂类
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;
}
}
//调用
Operation oper;
oper = OperationFactory.CreateOperate("+");
oper.NumberA = 100;
oper.NumberB = 20;
double result = oper.GetResult();
相关文章推荐
- C#之三十八 简单工厂设计模式
- c#设计模式之简单工厂模式
- c#之简单工厂设计模式
- 转:C#设计模式之简单工厂篇
- [导入]C#设计模式之简单工厂篇
- C#设计模式系列:简单工厂模式(Simple Factory)
- c#设计模式之简单工厂
- c#设计模式-简单工厂
- 设计模式之(简单工厂)(C#实现)(程杰)
- 实例解析C#设计模式编程中简单工厂模式的使用
- C#学习笔记之简单工厂设计模式
- C#中的简单工厂设计模式示例
- C#设计模式--简单工厂
- c#设计模式- Simple Factory模式(简单工厂)
- C#简单工厂设计模式
- C#设计模式之简单工厂篇
- C#设计模式之简单工厂篇
- 设计模式之C#简单工厂模式
- 设计模式学习(四): 1.简单工厂 (附C#实现)
- [C#]设计模式-简单工厂-创建型模式