




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 Visual Basic 2005具備了面向對象編程(Object-Oriented Programming,OOP)語言的所有特征。本章探討了在Visual Basic 2005中運用面向對象原理編程的基本方法。面向對象編程主要具有以下幾個優點: (1)維護簡單。 (2)可擴充性。 (3)代碼重用。第8章 類與對象本章學習目標 (1)熟練掌握類與對象的概念和創建方法。(2)理解命名空間的概念。(3)掌握面向對象程序設計的特征。(4)學會使用With語句。類在面向對象編程技術中,類是重點中的重點。簡單地說,類是一種提供一定功能的數據類型,本節介紹類的定義方法、類的成員以及類的特征。1. 類的
2、定義在Visual Basic 2005中定義一個類要用到關鍵字Class,其語法格式如下: Public | Private | Protected | Friend | Protected Friend Class End Class 類的成員 類的成員包括字段、屬性和方法。其中字段和屬性表示對象的相關信息,方法表示對象可以采取的操作。例如:Form的ForeColor屬性表示窗體的前景色信息,Focus方法表示可以對Form采取設置焦點的操作。 從應用程序的角度看,字段和屬性無法區別,但在類中聲明它們的方式是不同的,字段只是類中的公共變量,而屬性則需使用Property過程控制如何設置和
3、返回屬性值。字段成員 類中的字段可以認為是類中的公共變量,下面的代碼為CStudent類添加了一個名為Name的字段: Public Class CStudent Public name As String 表示姓名 End Class定義name的關鍵字為Public,是公共變量,在類外可以直接訪問。例如: Dim liMing As New CStudent 定義類變量(即對象)liMing liM = 李明 設置對象 liMing的name為李明屬性成員 屬性成員是指在類中聲明一個局部變量來存儲對象的屬性值。使用PropertyEnd Property來定義屬性,可同時添
4、加權限修飾符(如Public、Shared 等)。 方法成員 方法成員就是類中聲明的公共子過程或函數過程。 類的特征 類主要有以下四個方面的特征,它體現了面向對象所共有的特征。 1)封裝性 封裝是面向對象編程的技術特征之一。封裝就是把一個類內部的數據與外部隔絕開來。經過封裝的類,其數據不能由外部直接調用和更改,必須通過類的共有屬性或方法來調用和更改。這樣,這些屬性或方法就成了類與外界交換信息的接口。例如前面定義的VB_Score,它是封裝在類CStudent中的,它無法直接訪問,而必須通過已定義的score屬性或grade方法來訪問它。利用類的封裝性可以實現: (1)隱藏類的實現細節。(2)讓
5、使用者只能通過事先定制好的方法來訪問數據,可以方便地加入控制邏輯,限制對屬性的不合理操作。(3)便于修改,增強代碼的可維護性;例如:對于一些常用的方法或函數或者一些反復出現的常量變量等,都可以把他放到一個類里封裝起來。這樣,如果需要修改就很方便了,不用去檢查所有出現這些變量或函數及方法的地方了。(4)可進行數據檢查。例如:可以在score屬性的Get方法中對Value值進行有效性檢查,不需直接操作變量VB_Score。 2)繼承性 繼承是擴展類的一種特性。如果需要完成一些新的功能,當然可以創建一個新類,但如果原有類可以提供一部分用戶所需要的功能,就可以創建一個擴充原有類的新類,創建的類稱為子類
6、或者派生類,原來的類稱為基類或父類。有時,子類和繼承也用于描述對類的擴充。在Visual Basic 2005中,一個類只能繼承一個父類,多類繼承在Visual Basic 2005中是不允許的。 可以通過使用NotInheritable關鍵字定義不可繼承的類,如果擴充這個類就會引起編譯錯誤。為什么要使類不可繼承呢?一個原因是不希望別人擴充自己的類,另一個原因是不可繼承的類產生的代碼運行速度更快。盡管這樣,還是應該小心地使用不可繼承的類,因為它不符合面向對象編程的初衷,只有在100%肯定不擴充這個類時,才使用NotInheritable關鍵字使它不可繼承。在有些面向對象編程語言中,這些類也被稱
7、作最終的類。 重載與多態如果一個標識符具有兩個或兩個以上的意義,就稱其為重載。使用Overrides關鍵字可以使派生對象重載繼承自父類的特性,重載的方法和基類方法的參數是完全相同的,區別在于具體實現上,重載的方法實現中,通常要調用基類的實現方法,此時,只需要在方法名前面指定MyBase關鍵字即可。 多態性是指用一個名字定義不同的函數,這些函數執行不同但又類似的操作,從而實現“一個接口,多種方法”。繼承、重載都是多態性的表現。命名空間 Visual Basic 2005 中的“命名空間”是一種對功能進行組織的很好的方法,其實它們就是建立在整個.NET框架上的一批類,每種.NET編程語言都要使用這
8、些命名空間。命名空間是一種命名方案,幫助用戶組織應用程序可用的各種類。可以使用一些被默認引入的命名空間的指令,而不需要鍵入其全部冗長的前綴,引入命名空間的關鍵字為Imports,位置為所有代碼的最上方。 對象 構造器是類初始化所必須使用的特殊方法,在Visual Basic 2005中,這一方法被稱作New。但在前面的代碼中可以發現,類中沒有定義New這個方法。正是這樣,如果類中沒有定義構造器,Visual Basic 2005將自動地創建一個構造器,當使用關鍵字New 對對象進行初始化時,也就調用了類的構造器。當然,也可以自己編寫對象在初始化時所運行的代碼。 如果在程序中創建了構造器,那么V
9、isual Basic 2005就不會再自動為該類創建構造器了。對象可視為一個單元的代碼和數據的組合。它可以是應用程序的一部分,如控件、窗體等,也可以認為整個應用程序是一個對象。 對象是面向對象程序設計的最小元素。此處所指的對象就是類的實例,即類變量。創建類的實例并將該實例分配給類變量的過程稱為類的“實例化”,例如: 分配變量LiMing 以引用類CStudent的實例Dim liMing As New CStudent該代碼等價于: Dim liMing As CStudent 定義對象LiMingliMing = New CStudent 實例化對象“實例化”是一個過程,通過該過程創建類的實例并將該實例分配給對象變量。任何一個類都必須“實例化”后,才能使用其屬性和方法。With語句 為了省略對對象的多次調用,Visual Basic 2005提供了WithEnd With語句。 其語法格式為: With End With說明: 可以是任何的對象,如窗體、控件、自定義類的實例等。 表示對對象的陳述。小結本章介紹了面向對象編程技術
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫院病房改造及醫療環境提升項目可行性研究報告(參考范文)
- 污水管網提質增效擴容工程項目可行性研究報告(參考范文)
- 2024年農業植保員考試中的常見亮點試題及答案
- 農產品加工產業園項目可行性研究報告(參考模板)
- 模具設計師資格考試的成功法則與試題及答案
- 掌握2024年農業植保員考試的試題與答案軟件
- 農業植保員資格考試的行業評估與求職趨勢試題及答案
- 如何高效進行體育經紀人的復習備考試題及答案
- 模具設計師資格認證考試重難點解讀試題及答案
- 2024年體育經紀人資格考試的題型解析試題及答案
- ISO 45003-2021職業健康安全管理-工作中的心理健康安全-社會心理風險管理指南(中文版)
- 惡性腫瘤的常見癥狀及早期信號
- 三年級語文 寫通知(全國一等獎)
- 2020電網技術改造工程概算定額第五冊調試工程
- 起重機機械金屬結構
- 自然教育課程的追尋與實踐
- 諾如病毒診斷和治療
- 《無人機攝影測量》考試復習題庫(含答案)
- 職業健康與環境保護的重要性
- 前置胎盤的教學查房課件
- 結構主義詩學
評論
0/150
提交評論