简单工厂模式null简单工厂与工厂方法模式简单工厂与工厂方法模式请用任何一种面向对象的语言去实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果nullClass Program
{
Static void main(string[] args)
{
Console.Write(“请输入数据A:”);
String A=Console.Readline();
Console.Write(“请输入运算符:”);
String B=Console.Readline();
Console.Wri...
null简单工厂与工厂
模式简单工厂与工厂方法模式请用任何一种面向对象的语言去实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果nullClass 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=“”;
if B= “+”:
D=Convert.ToString(Convert.ToDouble(A)+Convert.ToDouble(C));
if B= “/”:
D=Convert.ToString(Convert.ToDouble(A)/Convert.ToDouble(C));
Console.Writeline(“结果是:”+D);
}nullClass 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();
String strResult=“”;
switch(strOperate)
{case “+”:
strResult=Convert.ToString(Convert.ToDouble(strNumberA)+Convert.ToDouble(strNumberB));
break;
}
nullcase “/”:
if (strnumberB!=“0”) strResult=Convert.ToString(Convert.ToDouble(strNumberA)/Convert.ToDouble(strNumberB));
else strResult=“除数不能为零”;
}
Catch(Exception ex)
{Console.WriteLine(“您的输入有误”
+ex.Message)}
nullClass Operation
{public static double GetResult(double numberA,double numberB,string StrOperate)
{
switch(StrOperate)
{
case “/”:
if (numberB!=0) strResult=Convert.ToString(Convert.ToDouble(strNumberA)/Convert.ToDouble(strNumberB));
else strResult=“除数不能为零”;
case “+”:…
case “-”:…
case “*”:…
}
}
}nullClass 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();
String strResult=“”;
strResult=Convert.ToString(Operation.GetResult(Convert.ToDouble(strNumberA),Convert.ToDouble(strNumberB),strOperate);
nullCatch(Exception ex){Console.WriteLine(“您的输入有误”+ex.Message)}
nullClass Operation
{private double _numberA=0;
private double _numberB=0;
Public double numberA
{
get{return _numberA;}
set{_numberA=value;}
}
public virtual double GetResult()
{double result=0;return result;}nullClass OperationAdd:Operation
{
public override double GetResult()
{double result=0;
result=numberA+numberB;
return result;}
}nullPublic class OperationFactory
{
public static Operation createOperation(String operate)
{
Operation oper=null;
switch(operate)
{
case “+”:oper=new OperationAdd();
break;
case “-”:oper=new OperationSub();
break;
}
return oper;
}
}nullOperation oper;
oper=OperationFactory.creatoperation(strOperate);
strResult=oper.GetResult();nullInterface Ifactory
{Operation CreateOperation();}
Class AddFactory:Ifactory
{
Operation CreateOperation()
{return new OperationAdd();}
}nullIfactory operFactory=new AddFactory();
Operation oper=operFactory.CreateOperation();
Oper.numberA=1;
Oper.numberB=2:
strResult=Convert.toString(Oper.GetResult());工厂方法工厂方法LeiFeng zhangsan=new Undergraduate();
Zhangsan.sweep();
Zhangsan.wash();
Zhangsan.repair();
LeiFeng lisi=new Undergraduate();
lisi.sweep();
lisi.wash();
lisi.repair();
nullClass leifengfactory
Public static leifeng createleifeng(string type
)
{leifeng people;
Switch(type)
{case “大学生”:
people=new Undergradutate();break;
case “志愿者”:
people=new Volunteer();break;
}
Return people;
}
Leifeng people=LeifengFactory.createleifeng(“大学生”);
nullLeifeng people=LeifengFactory.createleifeng(“大学生”);
nullInterface Ifactory
{leifeng createleifeng()}
Class UndergraduteFactory:Ifactory
{leifeng createleifeng()
{return new undergradute();
}}
本文档为【简单工厂模式】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。