调一下这段代码,不会报错但是结果不对,在前台页加四个文本和一个按钮就可以了。先谢过了!
复制内容到剪贴板
代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Cal : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
}
protected void Button1_Click(object sender, EventArgs e)
{
//double n1 = Convert.ToDouble(TxtN1.Text);
//double n2 = Convert.ToDouble(TxtN2.Text);
//string opchr = TxtOpration.Text;
//double resultNum = opration(n1, n2, opchr);
//TxtResult.Text = resultNum.ToString();
//opration op = new opration();
opration opr = new opration();
opr.n1 = Convert.ToDouble(TxtN1.Text);
opr.n2 = Convert.ToDouble(TxtN2.Text);
opr = OprationFactory.createOperate(TxtOpration.Text);
TxtResult.Text = (opr.GetResult()).ToString();
}
}
public class opration
{
private double _n1=0;
private double _n2=0;
public double n1
{
get {return _n1 ;}
set {_n1=value;}
}
public double n2
{
get {return _n2;}
set {_n2=value ;}
}
public virtual double GetResult ()
{
double result=0;
return result;
}
}
public class OprationAdd:opration
{
public override double GetResult()
{
double result=0;
result=n1+n2;
return result;
}
}
public class OprationSub:opration
{
public override double GetResult()
{
double result=0;
result=n1+n2;
return result;
}
}
public class OprationFactory
{
public static opration createOperate(string opchr)
{
opration oper =new opration();
switch (opchr )
{
case "+":
oper=new OprationAdd();
break;
case "-":
oper =new OprationSub();
break;
}
return oper;
}
}