浅谈c#语言的类,事件,对象,方法和函数的区别

在讨论这些关系之前让我们先来了解一下面向过程和面向对象的区别: 所谓面向过程就是把一切事物或者需要解决的问题都当做是一个过程来处理,而面向对象则是把一切事物当成一个一个的对象来处理,这两者有什么区别呢,举一个简单的例子:  

编写一个驾驶汽车的程序:  

(1)面向过程的程序设计:  

编写一个函数,void drivecar();按过程分步处理具体的这里不做列举。  

(2)面向对象的程序设计:  

将一辆汽车看成一个对象,将所有汽车对象的共性抽取出来,设计一个类Car,类中有一个方法void drive(),用Car这个类实例化一个具体的对象car,调用:car.drive()就实现了驾驶汽车。  

相信通过这个例子就可以说明面向过程和面向对象的区别了,下面结合c#语言和C语言总结一下:  

(1) 类,其实也可以叫做模板,那什么又叫模板呢?所谓模板,顾名思义,就是一个模具,不同的模具可以就做出不同的模型,而这些模型都有其各自的特征,那么,类也是一样的,每一个类都有它的属性、方法、事件等等特征。如果把属性看做对象的性质;把方法看成对象的动作;把事件看做对象的响应,举一个例子:把手机看成一个类,手机的外形就是手机的一个属性,每个人都会使用手机打电话,主叫就是手机这个类的一个方法,而被叫就是事件。 

(2)方法反映的是对象的行为,结合C语言,不恰当地说,类的方法就可以理解为面向过程的语言的函数,反映的是要完成的任务,比如说,现在要求两个数的和,c#就可以用public来声明一个方法,然后通过调用这个方法来实现,而c语言需要编写一个int sum()的函数去实现。 

(3)C#中事件就是是一个类和另一个类之间传递消息或者处发新的行为的一种编程方法,相信通过上面打电话的例子应该能理解了。  

这里再绕一下我们的脑子,我们知道C语言中最基础的printf函数,在最开始的时候,我们并不知道它的函数源代码是怎样的,我们只知道printf("%d",a);这个语句就是将int型的a这个变量的值输出到屏幕,那么是不是就可以将这个函数看作是一个类呢?答案是可以的,因为这个函数有它的接口供我们使用,我们看到它的函数声明(包含函数返回值,函数名,形参列表)就知道这个函数是干什么的,像这样的库函数很多很多,我们不必要知道它的源代码是什么同样可以正确使用它,这就是面向对象的编程的思维,对于每一个类,只要知道这个类有什么属性,怎么使用,就可以了,至于这个类是怎么抽象出来的并不用管。

最后,再结合ASP.NET网页设计,因为C#语言就是用来做这个事情的,所以我们用具体的例子来谈谈他们的区别,假设现在我们添加了一个TextBox控件,一个Button控件,一个Lalbel控件,首先要明确一点,这三个控件都是类,假设我们现在要实现将用户在TextBox中输入的文本内容显示出来,那么我们可以这样做,在Button的Click事件中使用Lalbel.Text=TextBox.Text这一方法,用Lalbel来显示输入的文本内容。下面是完整的代码: 

(1)div层代码:  

<div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <br />  

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> <br /> 

<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div>  

(2)后台代码:  

public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e)

{

}

protected void Button1_Click(object sender, EventArgs e)

{  

Label1.Text = TextBox1.Text;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值