简单工厂模式的实现
来源:互联网 发布:mac转换视频格式软件 编辑:程序博客网 时间:2024/04/30 01:55
该代码实现了四则运算,用简单工厂模式开发.
class Program
{
static void Main(string[] args)
{
Console.Write("请输入数字A:");
string A = Console.ReadLine();
Console.Write("请选择运算符号(+、-、*、/):");
string B = Console.ReadLine();
Console.Write("请输入数字B:");
string C = Console.ReadLine();
string D = "";
Operation oper = OperationFactory.createOpertion(B);
oper.NumberA = int.Parse(A);
oper.NumberB = int.Parse(C);
D = oper.GetResult().ToString();
Console.WriteLine("结果是:" + D);
}
}
public class Operation
{
private double _numberA = 0;
private double _numberB = 0;
/// <summary>
/// 数字A
/// </summary>
public double NumberA
{
get { return _numberA; }
set { _numberA = value; }
}
/// <summary>
/// 数字B
/// </summary>
public double NumberB
{
get { return _numberB; }
set { _numberB = value; }
}
/// <summary>
/// 得到运算结果
/// </summary>
/// <returns></returns>
public virtual double GetResult()
{
double result = 0;
return result;
}
}
/// <summary>
/// 加法类
/// </summary>
public class OperationAdd : Operation
{
public override double GetResult()
{
return this.NumberA + NumberB;
}
}
/// <summary>
/// 减法类
/// </summary>
public class OperationSub : Operation
{
public override double GetResult()
{
return NumberA - NumberB;
}
}
/// <summary>
/// 乘法类
/// </summary>
public class OperationNul : Operation
{
public override double GetResult()
{
return NumberA * NumberB;
//return base.GetResult();
}
}
/// <summary>
/// 除法类
/// </summary>
public class OperationDiv : Operation
{
public override double GetResult()
{
if (NumberB == 0)
{
return 0;
}
return NumberA / NumberB;
//return base.GetResult();
}
}
public class OperationFactory
{
public static Operation createOpertion(string operte)
{
Operation Oper=null;
switch (operte)
{
case "+":
{
Oper = new OperationAdd();
break;
}
case "-":
{
Oper = new OperationSub();
break;
}
case "*":
{
Oper = new OperationNul();
break;
}
case "/":
{
Oper = new OperationDiv();
break;
}
}
return Oper;
}
}
{
static void Main(string[] args)
{
Console.Write("请输入数字A:");
string A = Console.ReadLine();
Console.Write("请选择运算符号(+、-、*、/):");
string B = Console.ReadLine();
Console.Write("请输入数字B:");
string C = Console.ReadLine();
string D = "";
Operation oper = OperationFactory.createOpertion(B);
oper.NumberA = int.Parse(A);
oper.NumberB = int.Parse(C);
D = oper.GetResult().ToString();
Console.WriteLine("结果是:" + D);
}
}
public class Operation
{
private double _numberA = 0;
private double _numberB = 0;
/// <summary>
/// 数字A
/// </summary>
public double NumberA
{
get { return _numberA; }
set { _numberA = value; }
}
/// <summary>
/// 数字B
/// </summary>
public double NumberB
{
get { return _numberB; }
set { _numberB = value; }
}
/// <summary>
/// 得到运算结果
/// </summary>
/// <returns></returns>
public virtual double GetResult()
{
double result = 0;
return result;
}
}
/// <summary>
/// 加法类
/// </summary>
public class OperationAdd : Operation
{
public override double GetResult()
{
return this.NumberA + NumberB;
}
}
/// <summary>
/// 减法类
/// </summary>
public class OperationSub : Operation
{
public override double GetResult()
{
return NumberA - NumberB;
}
}
/// <summary>
/// 乘法类
/// </summary>
public class OperationNul : Operation
{
public override double GetResult()
{
return NumberA * NumberB;
//return base.GetResult();
}
}
/// <summary>
/// 除法类
/// </summary>
public class OperationDiv : Operation
{
public override double GetResult()
{
if (NumberB == 0)
{
return 0;
}
return NumberA / NumberB;
//return base.GetResult();
}
}
public class OperationFactory
{
public static Operation createOpertion(string operte)
{
Operation Oper=null;
switch (operte)
{
case "+":
{
Oper = new OperationAdd();
break;
}
case "-":
{
Oper = new OperationSub();
break;
}
case "*":
{
Oper = new OperationNul();
break;
}
case "/":
{
Oper = new OperationDiv();
break;
}
}
return Oper;
}
}
- 简单工厂模式的实现
- 简单工厂模式的实现
- 简单的工厂模式实现
- 简单工厂模式和工厂模式的实现例子
- 实现简单工厂模式
- 工厂模式简单实现
- 简单实现工厂模式
- 一个java实现的简单工厂模式
- 简单的用反射实现工厂模式
- Java实现简单的工厂模式
- 简单工厂模式java代码的实现
- 工厂模式的代码实现,简单易懂。
- 简单工厂模式的三种实现
- 简单工厂模式的java实现例子
- 简单工厂模式实现粗略的四则运算
- 集中式工厂的实现--简单工厂模式
- 简单的工厂模式
- 简单的工厂模式
- sql 语句
- 装饰模式
- 策略模式的实现
- GridView中显示时间日期格式问题
- 工厂方法模式
- 简单工厂模式的实现
- IOS 学习笔记(四)ios理解
- 50个C/C++源代码网站
- 设计模式原则
- Change Log of Joomsport: Add two fields to season table
- Digester解析xml文档
- 各种设计模式分析
- 关于url编码问题的处理的几个方法的总结
- 使用GDB调试LINUX软件