是否了解VB.NET Derived Class
經(jīng)過長時間學(xué)習(xí)VB.NET Derived Class,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。我想Inheritance也應(yīng)該是所有VB編程員夢寐以求的另一突破!在過去的VB6編程里是不能真真做到這一點(diǎn)(也只有C/C++才能做到),現(xiàn)在VB.NET就把它一一的實(shí)現(xiàn)了。也把所有用VB的編程員帶到一個新境界。我想先講解一下何為Inheritance會對以后的Class編冩比較有幫助。
那就拿圖一來做個例子。"人物"稱為Base Class,因?yàn)樗鼡碛忻總€人物應(yīng)用的屬性(身高,軆重,膚色),方法(站,坐,跑,跳),事件(痛,哭,笑)。如果用此"人物"(Base Class)演變出兩個新的人物(VB.NET Derived Class)而命名為"學(xué)生"和"教師";那此演變也就叫Inheritant了。因?yàn)樗阉?人物"的基本屬性,方法和事件一一應(yīng)用在兩個新人物"學(xué)生"和"教師"里。Inheritant的好處就是可以很有效率的把Base Class的屬性,方法和事帶到VB.NET Derived Class里(沒有更改)而不需要重冩那么浪費(fèi)資源。
基本上當(dāng)開始冩一個Class時就可以用NotInheritable和MustInherit關(guān)鍵字來代表該Class是否能 Inherit或者一定要Inherit才可以用(也就是該Class不能用New語法來Instantiate);而一般Class都是默認(rèn) Ineritable。
- 不能Inherit的Base Class:
- Public [NotInheritable] BaseClassName
- '// ...
- End Class
- 一定要Inherit才能使用的Base Class:
- Public [MustInherit] BaseClassName
- '// ...
- End Class
Polymorphism可以說是Object Oriented編程的***境界,它也是Inheritance的另一個突破。這簡直是VB編程員的渴望啊。。。有誰不想學(xué)到此境界跟運(yùn)用在每天悶郁的工作里!
Polymorphism有何過人之處?引起人人掙著去學(xué)呢?那就要重Inheritance里說起了。。。我們知道在用Inheritance可以很又效率的由Base Class去演變出一個VB.NET Derived Class;而不費(fèi)一分一毫就能完完全全擁有Base Class的屬性,方法和事件。但是。。。但是。。。往往很多時后,現(xiàn)有的方法(Method)里面的流程代碼未必適合每一個VB.NET Derived Class;就這樣。我們需要Polymorphism來補(bǔ)救了。也就是說Polymorphism使我們能夠去改冩某一個方法(Method)里的流程代碼!是不是很好完呢?
【編輯推薦】