如何理解VB.NET繼承規(guī)則,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
十多年的延慶網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整延慶建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“延慶網(wǎng)站設(shè)計(jì)”,“延慶網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
VB.NET中也有繼承相關(guān)應(yīng)技術(shù),而且相對(duì)于初學(xué)者來(lái)說(shuō)并不是很好理解這一應(yīng)用。下面就首先讓我們從VB.NET繼承規(guī)則來(lái)學(xué)習(xí),從中了解到這一應(yīng)用的基本概念,從而方便我們將來(lái)的深入學(xué)習(xí)。
用戶可以使用一個(gè)新的關(guān)鍵字"Inherts"在一個(gè)基本的類的基礎(chǔ)上去建立一個(gè)新的類,則繼承類可以繼承,擴(kuò)充基本類的屬性、方法、事件、數(shù)據(jù)成員和事件處理程序。
VB.NET引入以下表述來(lái)支持VB.NET繼承規(guī)則的表述:
(1)Inherits表述--用來(lái)說(shuō)明當(dāng)前的類是繼承了哪一個(gè)已經(jīng)存在的類(基本類),Inherits只有在類中才能使用。
(2)NotInheritalbe modifier--防止程序把一個(gè)類作為一個(gè)基本類。
(3)MustInherit modifier--聲明這個(gè)類是不能創(chuàng)建的,必須繼承下來(lái)的,惟一一種可以使用該類的方法就是繼承它。
新的繼承的類可以重載一些基本的方法,VB.NET使用以下這些關(guān)鍵字來(lái)控制屬性和方法的重載:
(1)Overridable--允許一個(gè)屬性或者方法在繼承類中可以重載。公用的方法的缺省的值為NotOverridable。
(2)Overrides--允許用戶重載一個(gè)基本類的屬性或者是方法。
(3)NotOverridable(缺省)--防止一個(gè)屬性或方法在繼承類中被重載。
(4)MustOverride--當(dāng)該關(guān)鍵字被使用時(shí),需要繼承的類一定要把該屬性或方法重載,其中方法的表述只包括Sub,Function或者Property。
注意:其他的描述是不允許的,這里沒(méi)有End Sub、End Function描述。有MustOverride方法的類必須被聲明為MustInherit,公有的方法的缺省值為NotOverridable.并且關(guān)于繼承,還有以下VB.NET繼承規(guī)則:
(1)雖然,一個(gè)繼承類只能夠從一個(gè)類繼承而來(lái),但是它可以產(chǎn)生無(wú)數(shù)個(gè)接口。
(2)一個(gè)公有的類不能繼承一個(gè)friend的或者私有的類,而且一個(gè)friend類不能繼承一個(gè)私有的類。
1.使用Mybase訪問(wèn)基本類的方法
當(dāng)用戶在繼承類中重載基本類的方法時(shí),可以使用Mybase調(diào)用基本類中的方法,以下的表述將向用戶提供關(guān)于Mybase的一些更詳細(xì)的描述。
(1)MyBase是對(duì)基本的類和它的繼承成員的引用。
(2)在MyBase中限定的一些方法,沒(méi)有必要在Mybase中再進(jìn)行定義;它可以間接地在繼承類中進(jìn)行定義,為了使Mybase可以正確地引用和編譯,一些基礎(chǔ)類必須在引用時(shí)包含一個(gè)和其參數(shù)名稱和類型匹配的方法。
(3)Mybase不能用來(lái)限定本身,所以下面的描述是錯(cuò)誤的:
MyBase.MyBase.BtnOK_Click()
(4)MyBase是一個(gè)關(guān)鍵字。
(5)MyBase不能被用成一個(gè)變量或者是過(guò)程,或者用在"IS"比較中,MyBase并不是一個(gè)真正的對(duì)象。
(6)MyBase可以被用作一個(gè)共享成員(shared members);這時(shí)它是有值的,因?yàn)楣蚕沓蓡T是可以被shadowed。
(7)MyBase不能在模塊中使用。
2.使用MyClass
(1)MyClass允許調(diào)用一個(gè)可以重載的方法,并且確認(rèn)調(diào)用的是方法里的implementation過(guò)程,而不是繼承類里的重載的方法,以下的使用方法是VB.NET繼承規(guī)則中合法的,用MyClass在一個(gè)類中去限定一個(gè)方法,這個(gè)方法在基本類里面有定義,但是在這個(gè)類中沒(méi)有這個(gè)方法的定義。這種引用和MyBase.Method具有一樣的意義。
(2)MyClass是一個(gè)關(guān)鍵字。
(3)MyClass不能被用成一個(gè)變量,或者是過(guò)程,或者用在"Is"比較中,MyClass并不是一個(gè)真正的對(duì)象。
(4)MyClass可以引用包含的類以及它的繼承成員,并且能夠被用作訪問(wèn)在類中定義的公有的成員,但是不能訪問(wèn)類中的私有成員。
(5)MyClass可以被用作共享成員的限定。
(6)MyClass不能被用在標(biāo)準(zhǔn)模塊中。
看完上述內(nèi)容,你們掌握如何理解VB.NET繼承規(guī)則的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!