---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
/// <summary>
/// 运算类
/// </summary>
public class Operation
{
private double numberA = 0;
private double numberB = 0;
public double NumberA
{
get { return numberA; }
set { numberA = value; }
}
public double NumberB
{
get { return numberB; }
set { numberB = value; }
}
public virtual double GetResult()
{
double result = 0;
return result;
}
}
----------------------------------------------------------------------------
class OperationAdd:Operation
{
/// <summary>
/// 加法
/// </summary>
/// <returns></returns>
public override double GetResult()
{
double result = 0;
result = NumberA + NumberB;
return 0;
}
}
class OperationDiv:Operation
{
/// <summary>
/// 除法
/// </summary>
/// <returns></returns>
public override double GetResult()
{
double result = 0;
if (NumberB == 0)
{
throw new Exception("除数不能为0");
}
else
{
result = NumberA / NumberB;
return result;
}
}
}
class OperationMul:Operation
{
/// <summary>
/// 乘法
/// </summary>
/// <returns></returns>
public override double GetResult()
{
double result = 0;
result = NumberA * NumberB;
return result;
}
}
class OperationSub:Operation
{
/// <summary>
/// 减法
/// </summary>
/// <returns></returns>
public override double GetResult()
{
double result = 0;
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;
}
}
------------------------------------------------------------
class Program
{
static void Main(string[] args)
{
display();
}
public static void display()
{
try
{
Console.WriteLine("请输入第一个数");
double numberA = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入第二个数");
double numberB = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入运算符号 + - * /");
string operate = Console.ReadLine();
Operation oper; //实例化运算类
oper = OperationFactory.createOperate(operate);
oper.NumberA = numberA;
oper.NumberB = numberB;
double result = oper.GetResult();//重载
Console.WriteLine("结果是:" + result.ToString());
Console.ReadKey();
}
catch (Exception)
{
Console.WriteLine("请输入正确的数");
}
Console.ReadKey();
}
}
学着用简单工厂设计模式做的 第一次做
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/