基础加强第一天 计算器
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;
}
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;
}
相关文章推荐
- (黑马程序员)Java基础加强(第一天)4.Junit测试框架
- 黑马程序员--Java基础加强(高新技术)学习第一天
- 基础加强第一天
- 第一天:JAVA基础加强
- C#基础加强第一天总结--面向对象1
- 基础加强第一天 猜拳游戏
- (黑马程序员)Java基础加强(第一天)05-java5的静态导入和自动装箱拆箱
- 黑马程序员_基础加强第一天——Java反射机制
- 黑马程序员_基础加强第一天——JDK1.5新特性
- 基础加强第一天
- 黑马 f05f 程序员---基础加强第一天小结
- .NET基础加强第一天(1)
- 传智播客-Java基础加强-day3
- 【达内训练营第一天】07_26_Linux基础
- [转]十天学习PHP之第一天(PHP)----基础知识
- 传智播客-Java基础加强-day1
- 基础加强(概述)
- 计算器基础原理代码(java)
- 传智播客-Java基础加强-day2
- 传智播客——就业班的开始:java基础加强