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 = "";
OperationFactory OperF = new OperationFactoryAdd();
Operation oper = OperF.createOpertion();
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 interface OperationFactory
{
Operation createOpertion();
}
public class OperationFactoryAdd : OperationFactory
{
public Operation createOpertion()
{
return new OperationAdd();
}
}
public class OperationFactorySub : OperationFactory
{
public Operation createOpertion()
{
return new OperationSub();
}
}
public class OperationFactoryNul : OperationFactory
{
public Operation createOpertion()
{
return new OperationDiv();
}
}
{
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 = "";
OperationFactory OperF = new OperationFactoryAdd();
Operation oper = OperF.createOpertion();
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 interface OperationFactory
{
Operation createOpertion();
}
public class OperationFactoryAdd : OperationFactory
{
public Operation createOpertion()
{
return new OperationAdd();
}
}
public class OperationFactorySub : OperationFactory
{
public Operation createOpertion()
{
return new OperationSub();
}
}
public class OperationFactoryNul : OperationFactory
{
public Operation createOpertion()
{
return new OperationDiv();
}
}