您的位置:首页 > 其它

基础加强第一天 计算器

2015-03-20 15:52 141 查看
1、抽象类

public abstract class SuanFa

{

public int num1 { get; set; }

public int num2 { get; set; }

//构造函数

public SuanFa(int n1,int n2)

{

this.num1 = n1;

this.num2 = n2;

}

//每一个类中都有一个无参的构造函数,如果写了有参数的构造函数,那么无参数的额构造函数就被干掉了

public SuanFa() { }

/// <summary>

/// 抽象的方法

/// </summary>

/// <returns></returns>

public abstract int result();

}

2、加法(减法,乘法,除法和加法雷同,只是需要做一下小的改动)

public class Add:SuanFa

{

//类与类之间 可以通过继承的方式表示

//如果继承了 子类一般情况下都会调用父类中的额无参数的构造函数

public Add(int n1, int n2) : base(n1, n2) { }

public override int result()

{

return this.num1 + this.num2;

}

}

3、控制台应用程序

static void Main(string[] args)

{

Console.WriteLine("请您输入第一个数字");

int num1 = Convert.ToInt32(Console.ReadLine());//此处没有做异常处理

Console.WriteLine("请您输入第二个数字");

int num2 = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("请您输入运算符+、-、*、/");

string opt = Console.ReadLine();

//将运算符,第一个数,第二个数传入

SuanFa sf = GetNumAndOpt(opt,num1,num2);

//判断一下 sf是否为null

if(sf!=null)

{

int result= sf.result();

Console.WriteLine("计算结果:"+result);

}

Console.ReadKey();

}

private static SuanFa GetNumAndOpt(string opt,int num1,int num2)

{

SuanFa sf = null;

switch (opt)

{

case "+":

sf = new Add(num1,num2);

; break;

case "-":

sf=new Sub(num1,num2);

break;

case "*":

sf = new Mul(num1, num2);

break;

case "/":

sf = new Divide(num1,num2);

break;

}

return sf;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: