浅谈c#语言的类,事件,对象,方法和函数的区别
2016-11-05 12:09
204 查看
在讨论这些关系之前让我们先来了解一下面向过程和面向对象的区别:
所谓面向过程就是把一切事物或者需要解决的问题都当做是一个过程来处理,而面向对象则是把一切事物当成一个一个的对象来处理,这两者有什么区别呢,举一个简单的例子:
编写一个驾驶汽车的程序:
(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;
}
所谓面向过程就是把一切事物或者需要解决的问题都当做是一个过程来处理,而面向对象则是把一切事物当成一个一个的对象来处理,这两者有什么区别呢,举一个简单的例子:
编写一个驾驶汽车的程序:
(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;
}
相关文章推荐
- [置顶] 浅谈javascript之事件、函数、方法、对象 各代表何含义,通俗解释及其之间的关联与区别
- 函数和对象方法的区别
- 黑马程序员-我的第六篇学习日记:OC方法的使用,对象方法与函数的区别
- 二.OC基础--1,对象的存储细节,2,#pragma mark指令,3,函数和对象方法的区别,4,对象和方法之间的关系 ,5.课堂习题
- 【BOM】Window对象、事件、方法及DOM与BOM的区别联系
- 黑马程序员--函数和对象方法的区别
- 黑马视频学习笔记-OC-对象方法和函数区别
- 二、类和对象~方法与函数的区别
- javascript 对象和函数(方法)区别和联系
- 黑马程序员---成长之路-----OC之基础篇函数和对象方法的区别
- 函数与对象方法的区别
- OC 函数和对象方法的区别
- this指针在普通函数、对象方法、定时器、构造函数、事件函数、call()、apply()中的执行
- 黑马程序员--函数和对象方法的区别
- 处理事件的方式:两种类的覆盖处理(自己管理,覆盖专用事件函数;自己统一管理,覆盖QWidget::Event通用函数),一种对象的处理(父控件统一管理,即安装过滤器),两种全局处理(QCoreApplication安装过滤器;覆盖notify方法)
- 黑马程序员-OC语言-函数和对象方法的区别(听课笔记)
- ios 中调用函数的方法是消息传递,这个和普通的函数调用的区别是,你可以随时对一个对象传递任何消息,而不需要在编译的时候声明这些方法。所以Objective-C可以在runtime的时候
- OC对象方法和函数的区别
- ADO三大对象的属性、方法、事件及常数(二)
- 封装回调函数——为对象方法(Object Method,参数中带this指针的函数) 构造 普通函数(参数中无this指针的函数)形式 的入口