您的位置:首页 > 编程语言 > ASP

面向对象编程的基本知识——类、对象(asp.net)

2012-04-11 22:05 253 查看
面向对象编程的基本知识——类、对象

1、类

“类”是面向对象编程(OOP)中最重要的概念之一。

所谓的面向对象编程就是指的所有信息都封装在类中,使用的时候通过某一个具体的类调用里面的属性、方法、事件。

举例1:所有的控件都是类。(规律)文本框控件TextBox是一个类,如果要赋值应该对其Text属性设置,即TextBox1.Text=”计算机”;。

举例2:命令按钮Button是一个类,如果要点击Button实现某个操作,应该对其的Click事件进行设置,即

protected
void Button1_Click(object sender,
EventArgs e)





规律:有_(下划线)说明是事件。Button1_Click的格式是:控件ID_事件名。

举例3:在设计动态网站时,每创建一个网页,实际上就是声明一个类。例如网站中默认的Default网页,在代码中一开头就是

public
partial class
_Default : System.Web.UI.Page





(1)Public:修饰符,说明这个类是公共的,可以被随意访问。

(2)Partial:修饰符,说明这里声明的只是类的一部分,在其他地方还有关于这个类的声明。当网站运行的时候,程序会将所有关于这个类的声明部分组合到一起构成一个完整的。

(3)Class:关键字,说明声明的是一个类。(规律)

(4)_Deafult:类的名字。

(5): System.Web.UI.Page:类名后面带:(冒号)的说明有继承关系(规律)。

_Deafult这个类继承于System.Web.UI.Page。System.Web.UI是命名空间(在程序的头部,有Using System.Web.UI,说明这是命名空间),Page才是类名。Page类是父类,_Deafult是子类。

2、对象

“对象”这个概念都是和“类”成对出现的。类实例化出对象。(规律)换句话说,对象都是某一个类实例化出的。

举例1:文本框TextBox是一个类。“工具箱”中的TextBox是一个类,我们把它拖放到网页中,名字就变成了TextBox1、TextBox2等,这就是对象名字了。我们拖放的过程就是将TextBox类实例化成TextBox1对象的过程。

举例2:在代码中写程序实现类的实例化过程。

OleDbConnection
conn = new
OleDbConnection(ConnectionString);

OleDbDataAdapter adapter =
new OleDbDataAdapter(strSQL, conn);

OleDbCommand
cmd = new
OleDbCommand(strSQL, conn);

DataSet ds
= new
DataSet();

以上4句话是在ADO.NET中经常用到的4句类的实例化语句。我们纵向比较找规律:

类名
对象名 = new 类名(参数)——规律


以上是进行类的实例化最通用的格式。注意:

(1)
左右两边的类名要一致。

(2)
对象名是自己起的。

(3)
括号中是否有参数,要根据实际情况来。初学者可以根据范例来写。
3、为什么要有“对象”这个概念?

简单来说,“类”是一个泛泛的概念,没有具体的指代性,例如“人”这个概念是个统称。在实际编程中,我们大多数情况下用到的都是某一个具体的概念,例如“张三”、“李四”就是“人”具体出来的实例。我们可以说“张三”在“吃饭”(可以看作是方法)、“李四”的“身高”是多少(可以看作是属性),但没有说“人”在“吃饭”的。

再看ASP.NET中的例子。文本框TextBox是一个类,但是我们在网页中使用的是一个一个具体的文本框,有可能有的文本框会有初值、有的需要设置成密码框(输入的内容显示成●)。换句话说,虽然都是文本框,扮演的角色不同,设置也会不一样。这个时候,如果使用TextBox类来做设置,显然不可能做到“个性化”,所以应该是将TextBox类实例化出若干对象,这个类所拥有属性、方法、事件,这个对象都会有。这就好象一个正常“人”该有的外貌、动作,“张三”和“李四”也都会具备一样。

这就是为什么我们在“工具箱”中看到的是“TextBox”,拖放到网页中就变成了“TextBox1”、“TextBox2”了。

TextBox1是系统分配的默认对象ID,在实际编程中一般要根据该文本框的功能为其改名,例如“txtName”对应的是“输入用户名”等。

对控件修改ID越早越好。一般在进行页面设计甚至整个网站功能设计时,就要对涉及到的所有控件有一个良好的规划。一般在创建时就要改名,尽力避免“中途改名”的现象。(规律)
4、是不是所有的“类”都要“实例化”后才能使用?

不是所有的“类”都要“实例化”后才能通过“对象”使用。

情况1:有的类是“静态类”就可以直接使用类而不能通过对象使用。静态类在声明的时候使用“static”关键字。(规律)

情况2:虽然不是静态类,通过类直接访问对应的属性、方法不会产生歧义,也可以不用实例化成对象。课本第四章任务六自定义的类DbManager在使用时就是属于这种情况。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: