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

面向对象编程的基本知识——类、对象

 

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

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

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

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

4_Deafult:类的名字。

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

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

2、对象

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

    举例1:文本框TextBox是一个类。“工具箱”中的TextBox是一个类,我们把它拖放到网页中,名字就变成了TextBox1TextBox2等,这就是对象名字了。我们拖放的过程就是将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在使用时就是属于这种情况。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值