。例如,如果使yearlyBonus域具有private属性,该哉就不能被Manager类访问,因此,编译这样的代码就会发生错误。
继承是面向对象编程中常用的方法。实际上,.NETFramework类库中就有许多由继承其他类得到的类。例如,Windows.Forms名字空间中的Button类就是ButtonBase类的一个子类,而ButtonBase类本身又是Control类的一个子类。所有的类最终都是System.Object类的子类,在.NET Framework类库中,System.Object类被称为根或超级类。
表12中的代码演示了继承的强大功能:
扩充System.Windows.Forms.Form
Public Class MyForm : Inherits System.Windows.Forms.Form
End Class
这是一个空的类定义,在被编译和运行时,就会显示一个Windows窗体。看看,无需编写一行代码我们就可以创建一个窗体,这是因为MyForm是由System.Windows.Forms.Form继承生成的,它继承了Form类的功能。
不可继承的类
我们可以通过使用NotInheritable关健字使自己的类不可被别人继承。例如,表13中的Calculator就是不可继承的:
不可继承的类
NotInheritable Class Calculator
End Class
如果扩充这个类就会引起编译错误。为什么会使我们的类不可继承呢?一个原因是不希望别人扩充我们的类,另一个原因是不可扩充的类产生的代码运行速度更快。尽管这样,我们还是应该小心地使用不可继承的类,因为它不符合面向对象编程的初衷,只有在100%地肯定不扩充这个类时,才能使它不可继承。
在有些面向对象编程语言中,这些类也被称作最终的类。
结论
VB.NET支持许多面向对象编程的特征。本篇文章讨论了VB.NET中一些基本的面向对象特征,希望能够使广大读者能够对VB.NET中面向对象编程特征有一个基本的认识,并起到一个抛砖引玉的作用。