第5章VB NET面向對象的程序設計_第1頁
第5章VB NET面向對象的程序設計_第2頁
第5章VB NET面向對象的程序設計_第3頁
第5章VB NET面向對象的程序設計_第4頁
第5章VB NET面向對象的程序設計_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第第5章章 面向對象面向對象 的程序設計的程序設計 知識點知識點1 類(類(Class)和對象)和對象(Object) v一般意義上,對象是現(xiàn)實世界中的一個實體,一般意義上,對象是現(xiàn)實世界中的一個實體, 其特征是:其特征是: 每一個對象必須有一個名字區(qū)別其他對象;每一個對象必須有一個名字區(qū)別其他對象; 用屬性描述對象的特征;用屬性描述對象的特征; 用一組操作來描述對象的行為。用一組操作來描述對象的行為。 v類是一組對象的抽象,這組對象具有相同的類是一組對象的抽象,這組對象具有相同的 屬性結構和操作,或者說,類是對象的屬性結構和操作,或者說,類是對象的“設設 計圖計圖”,它規(guī)定對象的框架。根據(jù)類

2、的定義,它規(guī)定對象的框架。根據(jù)類的定義 可以可以“構造構造”出許多對象,而對象就是類的出許多對象,而對象就是類的 一個實例一個實例 知識點2 命名空間(NameSpace) v可以將命名空間想像成文件夾,不同的命名可以將命名空間想像成文件夾,不同的命名 空間內(nèi)可以定義許多類,在每個命名空間下,空間內(nèi)可以定義許多類,在每個命名空間下, 所有的類都是所有的類都是“獨立獨立”且且“唯一唯一”的。一個的。一個 應用程序中可以包含多個命名空間,一個命應用程序中可以包含多個命名空間,一個命 名空間下也可以包含其他命名空間。名空間下也可以包含其他命名空間。 v系統(tǒng)類庫的頂層命名空間是系統(tǒng)類庫的頂層命名空間是

3、System。命名空。命名空 間的使用方式有兩種間的使用方式有兩種 。(P80、81) 知識點知識點3 封裝(封裝(Encapsulation)、繼承)、繼承 (Inheritance)和多態(tài)()和多態(tài)(polymorphism) v面向對象具有三個基本特征:封裝、繼承和多態(tài)面向對象具有三個基本特征:封裝、繼承和多態(tài) v封裝封裝 就是將數(shù)據(jù)結構和作用在其上的操作組成一個實就是將數(shù)據(jù)結構和作用在其上的操作組成一個實 體,數(shù)據(jù)的表示方式和對數(shù)據(jù)的操作細節(jié)被隱藏體,數(shù)據(jù)的表示方式和對數(shù)據(jù)的操作細節(jié)被隱藏 起來,用戶只知道如何通過操作接口對該數(shù)據(jù)操起來,用戶只知道如何通過操作接口對該數(shù)據(jù)操 作,而不知

4、道操作是如何進行的,也不知道數(shù)據(jù)作,而不知道操作是如何進行的,也不知道數(shù)據(jù) 是如何表達的一個過程。是如何表達的一個過程。 v繼承 從已經(jīng)定義的一個類中派生出一個新類,這 就是繼承性。派生類(子類)繼承了基類 (父類)的數(shù)據(jù)和操作方法,但派生類又可 以定義新的數(shù)據(jù)和數(shù)據(jù)方法或者對基類的成 員進行重載(重新定義其功能,但方法名稱 相同)來增加新的功能。 v多態(tài)性 多態(tài)是指“一種物質的多種形態(tài)”,在面向對象的 程序設計中,允許程序設計者將父類對象設置成為 和一個或更多的它的子對象相等的技術,賦值后父 類對象就可以根據(jù)當前賦值給它的子對象的特性以 不同的方式運作。簡單地說就是不同對象收到相同 的消息產(chǎn)

5、生各自不同的行為。例如定義一個交通工 具的父類發(fā)出運輸?shù)南⒑螅洳煌淖宇惾缙?類和飛機類響應該運輸消息的行為是不同的,一個 是陸地運輸,而另一個則是航空運輸。 5.2 類和對象 v知識點知識點1 類的創(chuàng)建類的創(chuàng)建 格式如下:格式如下: 訪問修飾符訪問修飾符 Class 類名類名 類體類體 End Class 其中,其中,“類體類體”定義類的變量、屬性、事件和方法,定義類的變量、屬性、事件和方法, 它們都稱為類成員。類成員也有訪問修飾符。它們都稱為類成員。類成員也有訪問修飾符。 屬性創(chuàng)建 v創(chuàng)建屬性使用Property語句,因為屬性可以有返回值,也可以 賦值,分別使用Get訪問器和Set訪

6、問器,具體語法格式如下: v訪問修飾符|ReadOnly|WriteOnly Property 屬性名(ByVal 參數(shù)列表)As 類型 vGet v 語句塊 vEnd Get vSet(ByVal Value As 類型) v 語句塊 vEnd Set vEnd Property 知識點2 對象的定義和使用 創(chuàng)建一個對象也稱為創(chuàng)建一個類的實例,其語 法格式如下: 對象名對象名 As 類名類名 對象名對象名=New 類名()類名() 也可以將二者合一,寫成如下形式: 對象名對象名 As New 類名()類名() 對象建立后,可以訪問對象的成員 (屬性、方法等)。 v設置屬性值和獲取屬性值的語法

7、格式分別如下: 對象名對象名.屬性值屬性值=表達式表達式 變量變量=對象名對象名.屬性值屬性值 v使用方法的語法格式如下 : 對象名對象名.方法方法() v任務5.1和任務5.2在一個項目中。 5.3 類的繼承 v知識點1 繼承的實現(xiàn) Class TestA 類成員類成員 End Class Class TestB Inherits TestA 類成員類成員 End Class v任務3 在任務2的基礎上,添加一個窗體,在 其中創(chuàng)建一個類,繼承自People類,使用該 類。并將該窗體設為啟動窗體。 v任務4 創(chuàng)建類庫 創(chuàng)建一個c_shape類,僅作為基類。 MustInherit關鍵字表示該類

8、只能用作基類, 不能創(chuàng)建類的實例。 5.4 方法的多態(tài)性 v知識點1 構造函數(shù) 構造函數(shù)是類初使化時所必須使用的一種特殊方法。 在VB.NET中,當使用New關鍵字為一個類創(chuàng)建對象 時,VB.NET會使用一個名稱為New的過程來初始化 這個對象,這個過程就是構造函數(shù)。 v語法格式如下: Public Sub New(ByVal 參數(shù)) 初始化對象 End Sub 若類中用戶沒有定義構造函數(shù),系統(tǒng)會自動為其創(chuàng)建一個默 認的空的構造函數(shù)。 任務任務5:構造函數(shù)的使用:構造函數(shù)的使用 知識點知識點2 方法重載方法重載 v重載是一個類中,允許使用相同名稱的方法,但這些 方法的參數(shù)個數(shù)、數(shù)據(jù)類型及順序上

9、有所不同。 v實現(xiàn)重載的方法是在聲明語句中使用Overloads關鍵字, 語法格式如下: Public Overloads 方法名(參數(shù)列表) v例如用Add方法實現(xiàn)兩個整數(shù)相加或2個字符串連接, 可以如下定義: Public Overloads Function add(ByVal x As Integer, ByVal y As Integer) As Integer Public Overloads Function add(ByVal x As String, ByVal y As String) As String 任務任務6:利用方法重載實現(xiàn)任務:利用方法重載實現(xiàn)任務5的功能。的功能。 知識點3 方法重寫(覆蓋) v重寫是在不影響基類的情況下,子類對從基類繼承重寫是在不影響基類的情況下,子類對從基類繼承 的屬性和方法可以通過修改和擴充來重新實現(xiàn)。也的屬性和方法可以通過修改和擴充來重新實現(xiàn)。也 就是說那些繼承來的屬性和方法可以根據(jù)需要重用就是說那些繼承來的屬性和方法可以根據(jù)需要重用 它們。通過重寫,子類可以重復使用基類中相同的它們。通過重寫,子類可以重復使用基類中相同的 方法和屬性,但子類中所包含的代碼卻可以完全不方法和屬性,但子類中所包含的代碼卻可以完全不 同。同。 v與重載不同,重寫方法的參數(shù)數(shù)量、類型都完全相與重載不同,重寫方法的參數(shù)數(shù)量、類型都完全相 同,直接代

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論