。net简单工厂模式
来源:互联网 发布:qt编程快速入门 pdf 编辑:程序博客网 时间:2024/06/06 00:44
在我理解中,工厂模式就是用来方便添加的,主要是运用了接口和虚函数的方法,来达到实现的目的,灵活性强。
using System;
using System.Collections.Generic;using System.Text;
namespace OOPTest
{
// 运算接口
interface IOperation
{
double GetResult(double numberA, double numberB);
}
//加法类
class OperationAdd : IOperation
{
public double GetResult(double numberA, double numberB)
{
double result = 0;
result = numberA + numberB;
return result;
}
}
//减法类
class OperationSub : IOperation
{
public double GetResult(double numberA, double numberB)
{
double result = 0;
result = numberA - numberB;
return result;
}
}
//乘法类
class OperationMul : IOperation
{
public double GetResult(double numberA, double numberB)
{
double result = 0;
result = numberA * numberB;
return result;
}
}
//除法类
class OperationDiv : IOperation
{
public double GetResult(double numberA, double numberB)
{
double result = 0;
if (numberB == 0)
throw new Exception("除数不能为0。");
result = numberA / numberB;
return result;
}
}
//运算类工厂
class OperationFactory
{
public static IOperation createOperate(string operate)
{
IOperation 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 Program
{
static void Main(string[] args)
{
try
{
Console.Write("请输入数字A:");
string strNumberA = Console.ReadLine();
Console.Write("请选择运算符号(+、-、*、/):");
string strOperate = Console.ReadLine();
Console.Write("请输入数字B:");
string strNumberB = Console.ReadLine();
IOperation oper = OperationFactory.createOperate(strOperate);
double result = oper.GetResult(double.Parse(strNumberA), double.Parse(strNumberB));
Console.WriteLine("结果是:" + result.ToString());
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine("您的输入有错:" + ex.Message);
Console.ReadLine();
}
}
}
}
- .Net简单工厂模式
- 。net简单工厂模式
- NET设计模式(1): 简单工厂模式
- .NET设计模式: 简单工厂模式
- .NET设计模式(1): 简单工厂模式
- NET设计模式(1): 简单工厂模式
- .NET设计模式(1): 简单工厂模式
- .NET设计模式(1): 简单工厂模式
- .NET设计模式(1): 简单工厂模式
- .NET设计模式(1): 简单工厂模式
- .NET设计模式(1): 简单工厂模式
- .NET设计模式:简单工厂模式
- .NET设计模式(1) - 简单工厂模式
- .NET设计模式(1): 简单工厂模式
- Dot Net 设计模式—简单工厂
- Dot Net 设计模式—简单工厂
- Dot Net 设计模式—简单工厂
- Dot Net 设计模式—简单工厂
- Hadoop-0.20.0源代码分析(01)
- loadrunner 8.1用IE7录制脚本后,生成脚本过程中崩溃解决方法
- No 123 · Android 【常见问题】个人汇总
- 开学的心情
- Hadoop-0.20.0源代码分析(02)
- 。net简单工厂模式
- Hadoop-0.20.0源代码分析(03)
- fedora挂载win共享目录不能写入
- 对字(Word)、半字(Half-Word)、字节(Byte)的概念说明
- Hadoop-0.20.0源代码分析(04)
- Proxool Provider unable to load JAXP configurator file: proxoolconf.xml
- 跟“食物(food)”有关的一些说法。
- Hadoop-0.20.0源代码分析(05)
- epoll使用详解