经过长时间学习VB.NET Derived Class,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。我想Inheritance也应该是所有VB编程员梦寐以求的另一突破!在过去的VB6编程里是不能真真做到这一点(也只有C/C++才能做到),现在VB.NET就把它一一的实现了。也把所有用VB的编程员带到一个新境界。我想先讲解一下何为Inheritance会对以后的Class编冩比较有帮助。
那就拿图一来做个例子。"人物"称为Base Class,因为它拥有每个人物应用的属性(身高,軆重,肤色),方法(站,坐,跑,跳),事件(痛,哭,笑)。如果用此"人物"(Base Class)演变出两个新的人物(VB.NET Derived Class)而命名为"学生"和"教师";那此演变也就叫Inheritant了。因为它把所有"人物"的基本属性,方法和事件一一应用在两个新人物"学生"和"教师"里。Inheritant的好处就是可以很有效率的把Base Class的属性,方法和事带到VB.NET Derived Class里(没有更改)而不需要重冩那么浪费资源。
基本上当开始冩一个Class时就可以用NotInheritable和MustInherit关键字来代表该Class是否能 Inherit或者一定要Inherit才可以用(也就是该Class不能用New语法来Instantiate);而一般Class都是默认 Ineritable。
- 不能Inherit的Base Class:
- Public [NotInheritable] BaseClassName
- '// ...
- End Class
- 一定要Inherit才能使用的Base Class:
- Public [MustInherit] BaseClassName
- '// ...
- End Class
Polymorphism可以说是Object Oriented编程的***境界,它也是Inheritance的另一个突破。这简直是VB编程员的渴望啊。。。有谁不想学到此境界跟运用在每天闷郁的工作里!
Polymorphism有何过人之处?引起人人挣着去学呢?那就要重Inheritance里说起了。。。我们知道在用Inheritance可以很又效率的由Base Class去演变出一个VB.NET Derived Class;而不费一分一毫就能完完全全拥有Base Class的属性,方法和事件。但是。。。但是。。。往往很多时后,现有的方法(Method)里面的流程代码未必适合每一个VB.NET Derived Class;就这样。我们需要Polymorphism来补救了。也就是说Polymorphism使我们能够去改冩某一个方法(Method)里的流程代码!是不是很好完呢?
【编辑推荐】