讓你了解VB.NET繼承能力
VB.NET經(jīng)過長時間的發(fā)展,很多用戶都很了解VB.NET了,這里我發(fā)表一下個人理解,和大家討論討論關(guān)于VB.NET繼承的問題。然而,這個計劃于2001年第四季度上市銷售的vb版本可能會給你帶來些小麻煩,因為要完全掌握它需要一個較長的學(xué)習(xí)周期,而且其中包括了一些微妙的變化,你可能在使用他們的時候出現(xiàn)錯誤。需要準(zhǔn)備的條件:建議獲得VB.NET beta版,這些內(nèi)容對所有vb程序員都是有用的。
#T#microsoft .net平臺的涵蓋面很廣,而且很難預(yù)測它的真正意義。我們注意到,現(xiàn)在有很多關(guān)于.net的不正確的理解。因此在這篇文章里,我們將把給你一個vb.net到底是些什么的概念,從頭到尾說一說它是什么、它能干什么以及怎樣才能充分發(fā)揮它的優(yōu)點。我們要特別地細(xì)看一下ide的改變、面向?qū)ο筇卣?、底層結(jié)構(gòu)的改變、一些“現(xiàn)代化”的語法以及包裝和分發(fā)方面的增強。我們將討論這些功能能為你做什么,解釋他們的優(yōu)點與不足。由于這些改變是如此之大,而且涉及方方面面,因此希望這一篇文章能滿足你全部的要求是不現(xiàn)實的,要了解這方面全部的知識請參閱有關(guān)文章和書籍。
VB.NET 和你現(xiàn)在所知的開發(fā)工具完全不同,并且這個新版本會改變你的未來。到底有多大不同?如果你覺得從vb3遷移到vb4是一個很大的變化,那這次vb.net會讓你感到震驚。這次升級與其說是vb的一個新版本,還不如說是遷移到一個新平臺上,你所面臨的情況就和從dos遷移到windows差不多。
VB.NET繼承能力
vb.net預(yù)期擁有的第一新功能就是繼承能力。繼承是vb開發(fā)者長期以來要求得最多的功能。判斷一下對繼承的要求是不是像早些時候?qū)Ρ镜鼗幾g器的要求一樣將是一件很有意思的事,后者,當(dāng)microsoft提供了一個以后,你就幾乎聽不到多少這方面的言語了。
visual basic現(xiàn)在是真正的面向?qū)ο笳Z言了。過去,你可以通過使用VB.NET繼承界面性創(chuàng)建偽實現(xiàn)的對象繼承,但現(xiàn)在不必這樣做了。VB.NET 現(xiàn)在提供大量面向?qū)ο蠊δ埽☉?yīng)用程序繼承,它允許你從其它類導(dǎo)出你想創(chuàng)建的類。像在其它面向?qū)ο笳Z言里一樣,你能覆蓋基類的方法和屬性,并且能實現(xiàn)多態(tài)以創(chuàng)建健壯的、擴展性好的組件。例如,假定你從基類 crane里繼承產(chǎn)生了一個forklift類,你能使用像下面的代碼覆蓋基類里對lift方法的默認(rèn)實現(xiàn),以下是引用片段:
- public class forklift inherits crane overrides sub lift(byref _ height as double) heightheight = height + 10 end sub end class
vb.net不僅能讓你覆蓋方法或?qū)傩?;它還能讓你重載方法。重載是定義同名、但使用不同數(shù)據(jù)類型的方法或?qū)傩缘哪芰?。例如,假定你有一個組件能對不同數(shù)據(jù)類型的數(shù)組進(jìn)行排序,你不需要三個(每種數(shù)據(jù)類型一個)不同名的方法;實際上你可以重載一個方法名,以下是引用片段:
- overloads sub sortarray(byref _ avalues()as string) ... overloads sub sortarray(byref _ avalues() as integer) ... overloads sub sortarray(byref _ avalues() as object)
另一個改變是:表單現(xiàn)在是類模塊。這就是說類本身包含建立表單的所有“肥料”的代碼。你可能想知道,為什么你不得不看到這些從前不用看的代碼,但這個改變同時帶來強大的新功能,包括繼承這些表單的能力。microsoft把這一技術(shù)稱為可視化繼承。假定你的對話框有一種標(biāo)準(zhǔn)的格式,例如在表單的一側(cè)有一行按鈕,并在角上有一個標(biāo)識,那么,通過可視化繼承你能創(chuàng)建一個表單模板(類),并從這個基類里導(dǎo)出所需的表單。