物件导向程序设计

来源:互联网 发布:周涛 复杂网络 编辑:程序博客网 时间:2024/05/01 07:18

    VB.Net视频中所讲的物件导向程序设计就是我们常说的面向对象程序设计(OOP),在这一部分的内容中,主要讲到了物件和类别的设计。简单点儿来说,物件就是对象(Object),类别就是类(Class)。类别是创建物件时要定义的类型,物件是类别的具体实体。在物件导向程序设计中,程序需要通过一个个物件来执行的。

    

    物件:物件的生命周期分为创建、复制和销毁。

    物件的创建:VB.Net和C#都需要使用物件,可两者创建物件的方式确实不一样的,比较一下两者的代码。         

     '------VB.Net中创建对象的语法---------'     Dim student As Student   '声明变量,在堆中创建空间     student = New Student()  '实例化Student类,在堆中创建student实体     '------也可以写成如下形式--------------'     Dim student As Student = New Student() '在VB.Net中常用的形式<span style="font-family: KaiTi_GB2312; background-color: rgb(255, 255, 255);"> </span>
      //在C#中创建对象的语法     Stduent student=New Student();//直接实例化Student类,创建student实体
   物件的复制:.Net平台提供了IClone接口,通过实现IClone接口,就可以对物件进行复制,语法如下。

   物件的销毁:在VB6.0中通过语句对象进行销毁,如Set student = Nothing。在.Net中使用资源收集器(GC)来销毁物件,GC会周期性地自动执行,并回收没有被参考的物件。当然了如果想在程序执行完毕后,立即销毁物件,VB.Net中也可以手动收回,语法和VB6.0一样。

   类别:类很好的体现了面向对象的三大特性,封装、继承和多态。

   封装

   类是具有相同属性、方法和事件的物件的封装体。一个类的生成同时伴随着其属性、方法或事件的生成,这样定义的类才有她的价值。   

Public Class Student                      '定义学生类    Dim _name As String  '定义学生的属性,名字和学号    Dim _id As String    Public Property Name() As String      '定义属性所需的关键字Property        Get  '属性的两个函数,Get(读)和Set(写)            Return _name        End Get        Set(value As String)            _name = value        End Set            End Property    Public Property ID() As String        Get            Return _id        End Get        Set(value As String)            _id = value        End Set    End PropertyEnd Class
   类中的方法是指该类可执行的操作,类的方法可通过Sub过程和Function过程进行声明,Sub过程和Function过程都是VB.Net中一个独立的过程,可读取参数、执行一系列语句并改变其参数的值。两者的区别是Sub过程不需要返回值,Function过程需要返回值。   

Public Function StuAdress() As String           '返回值的类型End FunctionPublic Sub StuWork()                            '无需返回值End Sub
   VB6.0和VB.Net声明类的方法是一样的,区别在于VB.Net提供了方法重载的机制。VB.Net通过对具有相同名称的方法设置不同的参数来进行方法重载的。 

Public Overloads Sub StuWork(ByVal ID As String)        ’方法重载需要用到关键字OverloadsEnd SubPublic Overloads Sub Stuwork(ByVal Name As String)      '方法名一样,其中的传递参数不一样。End Sub
   事件,应用程序的执行是通过事件驱动的。例如当用户点击了窗体中的一个控件时,一个Click事件被触发了,并且可以调用一个事件处理过程。事件也可以让一些不相关的过程联系在一起。例如,有一个过程需要做很多事情,诸如一系列的操作,用户可以把一系列的事件组成一个独立的线程。如果用户决定要取消一个操作,应用程序可以发出一个cancel事件,来阻止这一系列操作的进行。

   继承

   在VB.Net中支持类的继承,允许用户定义一个类,作为其他类继承的依据。继承类能够继承、 扩充继承基本类的属性和方法。
Public Class StudentA        '定义学生A,继承与Student类    Inherits Student         '继承的关键字Inherits    Dim _name As String          Dim _id As String    Public Property Name() As String              Get                           Return _name        End Get        Set(value As String)            _name = value        End Set    End Property End Class

   多态

   多态是指对同一事件作出不同的响应,继承和接口通过对类方法的重写实现多态。  
    Public Overridable Sub StuWork()             '关键字Overridable表示该方法可以重写    End Sub    Public Overrides Sub StuWork()               '关键字Overrides表示对该方法进行重写    End Sub

   总结

   物件导向程序设计中,物件和类别是程序的主要执行者。物件是类的实体,因此类别的设计就显得尤为重要。   
1 0
原创粉丝点击