C#----计算器例子
2015-11-29 16:18
671 查看
学习C#也有一段时间了,总是听说C#面向对象,但也一直对它的概念很模糊,不能理解它和原来学习的VB有什么不同之处,直到今天做了一个计算器的小例子,才慢慢的看清面向对象的神秘之处。
话不多说,直接将实现的过程展示一下:
1. 首先建立一个Windows窗体,添加控件如图;
运行情况如图:
2.看似简单的界面,但也需要很多的代码来实现:
1)Form窗体的代码<span style="font-size:18px;">namespace 计算器
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Operation_Load(object sender, EventArgs e) //对Combox控件进行初始化
{
cboOperation.Items.Add("+");
cboOperation.Items.Add("-");
cboOperation.Items.Add("*");
cboOperation.Items.Add("/");
}
private void button1_Click(object sender, EventArgs e) //对计算按钮添加事件
{
int n1 = int.Parse(txtNum1.Text);
int n2 = int.Parse(txtNum2.Text);
string o = cboOperation.Text;
Calculator c = new Calculator(n1, n2, o);
try //进行异常处理
{
lblResult.Text = c.GetRsult().ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
</span>
2)类Calculator的代码
namespace 计算器
{
class Calculator
{
public Calculator(int n1,int n2,string oper)
{
this.num1 = n1;
this.num2 = n2;
this.operation = oper;
}
private int num1;
public int Num1
{
get { return num1; }
set { num1 = value; }
}
private int num2;
public int Num2
{
get { return num2; }
set { num2=value ; }
}
private string operation;
public string Operation
{
get { return operation; }
set { operation = value; }
}
public int GetRsult() //定义计算的函数
{
switch (operation)
{
case "+":
return this.num1+this.num2;
case "-":
return this.num1-this.num2;
case "*":
return this.num1 * this.num2;
case "/":
if(this.num2==0)
{
throw new Exception("除数不能为0");
}
return this.num1 / this.num2;
default:
throw new Exception("不支持这种操作");
}
}
}
}
总结:通过计算器的这个例子的实现,对于C#语言有了一定的了解,对于面向对象的概念的理解又加深了。这对于之后理解封装、继承和多态打下了一个良好的基础。而且通过不断地书写代码更有利于概念的理解。所以,多写代码还是一个必不可少的环节。
话不多说,直接将实现的过程展示一下:
1. 首先建立一个Windows窗体,添加控件如图;
运行情况如图:
2.看似简单的界面,但也需要很多的代码来实现:
1)Form窗体的代码<span style="font-size:18px;">namespace 计算器
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Operation_Load(object sender, EventArgs e) //对Combox控件进行初始化
{
cboOperation.Items.Add("+");
cboOperation.Items.Add("-");
cboOperation.Items.Add("*");
cboOperation.Items.Add("/");
}
private void button1_Click(object sender, EventArgs e) //对计算按钮添加事件
{
int n1 = int.Parse(txtNum1.Text);
int n2 = int.Parse(txtNum2.Text);
string o = cboOperation.Text;
Calculator c = new Calculator(n1, n2, o);
try //进行异常处理
{
lblResult.Text = c.GetRsult().ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
</span>
2)类Calculator的代码
namespace 计算器
{
class Calculator
{
public Calculator(int n1,int n2,string oper)
{
this.num1 = n1;
this.num2 = n2;
this.operation = oper;
}
private int num1;
public int Num1
{
get { return num1; }
set { num1 = value; }
}
private int num2;
public int Num2
{
get { return num2; }
set { num2=value ; }
}
private string operation;
public string Operation
{
get { return operation; }
set { operation = value; }
}
public int GetRsult() //定义计算的函数
{
switch (operation)
{
case "+":
return this.num1+this.num2;
case "-":
return this.num1-this.num2;
case "*":
return this.num1 * this.num2;
case "/":
if(this.num2==0)
{
throw new Exception("除数不能为0");
}
return this.num1 / this.num2;
default:
throw new Exception("不支持这种操作");
}
}
}
}
总结:通过计算器的这个例子的实现,对于C#语言有了一定的了解,对于面向对象的概念的理解又加深了。这对于之后理解封装、继承和多态打下了一个良好的基础。而且通过不断地书写代码更有利于概念的理解。所以,多写代码还是一个必不可少的环节。
相关文章推荐
- C#方法重载
- C#委托——基础1
- C# virtual, base, override
- C#构造方法
- c#之再战委托事件多线程2_委托和事件结合降低模块低耦合
- C#小结(一)
- c#之再战委托事件多线程1_仅仅是委托
- C#中sealed关键字
- C#与C++的混合编程 之三 C++与C#的数据传递与类型转换
- C#与C++的混合编程 之二 使用非托管dll 导出标准函数
- 【C#】用组件的Anchor属性解决最大化组件的缩放问题
- C#与C++的混合编程 之一 方法介绍
- 【C#】文件选择对话框OpenFileDialog与下列列表ComboBox
- 【CS】——C#初识
- C#开篇
- WCF 之角色验证
- C#-高血压生活习惯数据模拟
- BC#64 4.Tree
- C#4.0之dynamic的使用
- C#程序从Excel表格中读取数据并进行处理