物件導向程序設計

    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 Property
End Class
   類中的方法是指該類可執行的操作,類的方法可通過Sub過程和Function過程進行聲明,Sub過程和Function過程都是VB.Net中一個獨立的過程,可讀取參數、執行一系列語句並改變其參數的值。兩者的區別是Sub過程不需要返回值,Function過程需要返回值。   

Public Function StuAdress() As String           '返回值的類型

End Function
Public Sub StuWork()                            '無需返回值

End Sub
   VB6.0和VB.Net聲明類的方法是一樣的,區別在於VB.Net提供了方法重載的機制。VB.Net通過對具有相同名稱的方法設置不同的參數來進行方法重載的。 

Public Overloads Sub StuWork(ByVal ID As String)        ’方法重載需要用到關鍵字Overloads

End Sub
Public 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

   總結

   物件導向程序設計中,物件和類別是程序的主要執行者。物件是類的實體,因此類別的設計就顯得尤爲重要。   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章