VB類與對(duì)象_VB編程_第1頁(yè)
VB類與對(duì)象_VB編程_第2頁(yè)
VB類與對(duì)象_VB編程_第3頁(yè)
VB類與對(duì)象_VB編程_第4頁(yè)
VB類與對(duì)象_VB編程_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 Visual Basic 2005具備了面向?qū)ο缶幊蹋∣bject-Oriented Programming,OOP)語(yǔ)言的所有特征。本章探討了在Visual Basic 2005中運(yùn)用面向?qū)ο笤砭幊痰幕痉椒?。面向?qū)ο缶幊讨饕哂幸韵聨讉€(gè)優(yōu)點(diǎn): (1)維護(hù)簡(jiǎn)單。 (2)可擴(kuò)充性。 (3)代碼重用。第8章 類與對(duì)象本章學(xué)習(xí)目標(biāo) (1)熟練掌握類與對(duì)象的概念和創(chuàng)建方法。(2)理解命名空間的概念。(3)掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的特征。(4)學(xué)會(huì)使用With語(yǔ)句。類在面向?qū)ο缶幊碳夹g(shù)中,類是重點(diǎn)中的重點(diǎn)。簡(jiǎn)單地說(shuō),類是一種提供一定功能的數(shù)據(jù)類型,本節(jié)介紹類的定義方法、類的成員以及類的特征。1. 類的

2、定義在Visual Basic 2005中定義一個(gè)類要用到關(guān)鍵字Class,其語(yǔ)法格式如下: Public | Private | Protected | Friend | Protected Friend Class End Class 類的成員 類的成員包括字段、屬性和方法。其中字段和屬性表示對(duì)象的相關(guān)信息,方法表示對(duì)象可以采取的操作。例如:Form的ForeColor屬性表示窗體的前景色信息,F(xiàn)ocus方法表示可以對(duì)Form采取設(shè)置焦點(diǎn)的操作。 從應(yīng)用程序的角度看,字段和屬性無(wú)法區(qū)別,但在類中聲明它們的方式是不同的,字段只是類中的公共變量,而屬性則需使用Property過(guò)程控制如何設(shè)置和

3、返回屬性值。字段成員 類中的字段可以認(rèn)為是類中的公共變量,下面的代碼為CStudent類添加了一個(gè)名為Name的字段: Public Class CStudent Public name As String 表示姓名 End Class定義name的關(guān)鍵字為Public,是公共變量,在類外可以直接訪問(wèn)。例如: Dim liMing As New CStudent 定義類變量(即對(duì)象)liMing liM = 李明 設(shè)置對(duì)象 liMing的name為李明屬性成員 屬性成員是指在類中聲明一個(gè)局部變量來(lái)存儲(chǔ)對(duì)象的屬性值。使用PropertyEnd Property來(lái)定義屬性,可同時(shí)添

4、加權(quán)限修飾符(如Public、Shared 等)。 方法成員 方法成員就是類中聲明的公共子過(guò)程或函數(shù)過(guò)程。 類的特征 類主要有以下四個(gè)方面的特征,它體現(xiàn)了面向?qū)ο笏灿械奶卣鳌?1)封裝性 封裝是面向?qū)ο缶幊痰募夹g(shù)特征之一。封裝就是把一個(gè)類內(nèi)部的數(shù)據(jù)與外部隔絕開(kāi)來(lái)。經(jīng)過(guò)封裝的類,其數(shù)據(jù)不能由外部直接調(diào)用和更改,必須通過(guò)類的共有屬性或方法來(lái)調(diào)用和更改。這樣,這些屬性或方法就成了類與外界交換信息的接口。例如前面定義的VB_Score,它是封裝在類CStudent中的,它無(wú)法直接訪問(wèn),而必須通過(guò)已定義的score屬性或grade方法來(lái)訪問(wèn)它。利用類的封裝性可以實(shí)現(xiàn): (1)隱藏類的實(shí)現(xiàn)細(xì)節(jié)。(2)讓

5、使用者只能通過(guò)事先定制好的方法來(lái)訪問(wèn)數(shù)據(jù),可以方便地加入控制邏輯,限制對(duì)屬性的不合理操作。(3)便于修改,增強(qiáng)代碼的可維護(hù)性;例如:對(duì)于一些常用的方法或函數(shù)或者一些反復(fù)出現(xiàn)的常量變量等,都可以把他放到一個(gè)類里封裝起來(lái)。這樣,如果需要修改就很方便了,不用去檢查所有出現(xiàn)這些變量或函數(shù)及方法的地方了。(4)可進(jìn)行數(shù)據(jù)檢查。例如:可以在score屬性的Get方法中對(duì)Value值進(jìn)行有效性檢查,不需直接操作變量VB_Score。 2)繼承性 繼承是擴(kuò)展類的一種特性。如果需要完成一些新的功能,當(dāng)然可以創(chuàng)建一個(gè)新類,但如果原有類可以提供一部分用戶所需要的功能,就可以創(chuàng)建一個(gè)擴(kuò)充原有類的新類,創(chuàng)建的類稱為子類

6、或者派生類,原來(lái)的類稱為基類或父類。有時(shí),子類和繼承也用于描述對(duì)類的擴(kuò)充。在Visual Basic 2005中,一個(gè)類只能繼承一個(gè)父類,多類繼承在Visual Basic 2005中是不允許的。 可以通過(guò)使用NotInheritable關(guān)鍵字定義不可繼承的類,如果擴(kuò)充這個(gè)類就會(huì)引起編譯錯(cuò)誤。為什么要使類不可繼承呢?一個(gè)原因是不希望別人擴(kuò)充自己的類,另一個(gè)原因是不可繼承的類產(chǎn)生的代碼運(yùn)行速度更快。盡管這樣,還是應(yīng)該小心地使用不可繼承的類,因?yàn)樗环厦嫦驅(qū)ο缶幊痰某踔裕挥性?00%肯定不擴(kuò)充這個(gè)類時(shí),才使用NotInheritable關(guān)鍵字使它不可繼承。在有些面向?qū)ο缶幊陶Z(yǔ)言中,這些類也被稱

7、作最終的類。 重載與多態(tài)如果一個(gè)標(biāo)識(shí)符具有兩個(gè)或兩個(gè)以上的意義,就稱其為重載。使用Overrides關(guān)鍵字可以使派生對(duì)象重載繼承自父類的特性,重載的方法和基類方法的參數(shù)是完全相同的,區(qū)別在于具體實(shí)現(xiàn)上,重載的方法實(shí)現(xiàn)中,通常要調(diào)用基類的實(shí)現(xiàn)方法,此時(shí),只需要在方法名前面指定MyBase關(guān)鍵字即可。 多態(tài)性是指用一個(gè)名字定義不同的函數(shù),這些函數(shù)執(zhí)行不同但又類似的操作,從而實(shí)現(xiàn)“一個(gè)接口,多種方法”。繼承、重載都是多態(tài)性的表現(xiàn)。命名空間 Visual Basic 2005 中的“命名空間”是一種對(duì)功能進(jìn)行組織的很好的方法,其實(shí)它們就是建立在整個(gè).NET框架上的一批類,每種.NET編程語(yǔ)言都要使用這

8、些命名空間。命名空間是一種命名方案,幫助用戶組織應(yīng)用程序可用的各種類??梢允褂靡恍┍荒J(rèn)引入的命名空間的指令,而不需要鍵入其全部冗長(zhǎng)的前綴,引入命名空間的關(guān)鍵字為Imports,位置為所有代碼的最上方。 對(duì)象 構(gòu)造器是類初始化所必須使用的特殊方法,在Visual Basic 2005中,這一方法被稱作New。但在前面的代碼中可以發(fā)現(xiàn),類中沒(méi)有定義New這個(gè)方法。正是這樣,如果類中沒(méi)有定義構(gòu)造器,Visual Basic 2005將自動(dòng)地創(chuàng)建一個(gè)構(gòu)造器,當(dāng)使用關(guān)鍵字New 對(duì)對(duì)象進(jìn)行初始化時(shí),也就調(diào)用了類的構(gòu)造器。當(dāng)然,也可以自己編寫對(duì)象在初始化時(shí)所運(yùn)行的代碼。 如果在程序中創(chuàng)建了構(gòu)造器,那么V

9、isual Basic 2005就不會(huì)再自動(dòng)為該類創(chuàng)建構(gòu)造器了。對(duì)象可視為一個(gè)單元的代碼和數(shù)據(jù)的組合。它可以是應(yīng)用程序的一部分,如控件、窗體等,也可以認(rèn)為整個(gè)應(yīng)用程序是一個(gè)對(duì)象。 對(duì)象是面向?qū)ο蟪绦蛟O(shè)計(jì)的最小元素。此處所指的對(duì)象就是類的實(shí)例,即類變量。創(chuàng)建類的實(shí)例并將該實(shí)例分配給類變量的過(guò)程稱為類的“實(shí)例化”,例如: 分配變量LiMing 以引用類CStudent的實(shí)例Dim liMing As New CStudent該代碼等價(jià)于: Dim liMing As CStudent 定義對(duì)象LiMingliMing = New CStudent 實(shí)例化對(duì)象“實(shí)例化”是一個(gè)過(guò)程,通過(guò)該過(guò)程創(chuàng)建類的實(shí)例并將該實(shí)例分配給對(duì)象變量。任何一個(gè)類都必須“實(shí)例化”后,才能使用其屬性和方法。With語(yǔ)句 為了省略對(duì)對(duì)象的多次調(diào)用,Visual Basic 2005提供了WithEnd With語(yǔ)句。 其語(yǔ)法格式為: With End With說(shuō)明: 可以是任何的對(duì)象,如窗體、控件、自定義類的實(shí)例等。 表示對(duì)對(duì)象的陳述。小結(jié)本章介紹了面向?qū)ο缶幊碳夹g(shù)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論