真正的继承性

来源:岁月联盟 编辑:zhu 时间:2007-01-31
   

  VB.NET的新特性中最令人激动的应该算是其继承性了。继承性一直是VB编程人员最希望得到的功能之一。

  VB现在已经成为一种真正的面向对象语言了。过去,开发人员可以通过使用VB的界面继承来构建一个对象继承的伪实现,现在再也无需这么做了。

  Visual Basic.NET中提供了一系列的面向对象的特性,其中包括应用的继承性,一个类可以由继承其他的类生成。与其他的面向对象语言一样,在VB.NET中可以覆盖基础类中的方法和属性,还可以利用多态性创建功能更强大、可扩充的组件。例如,假设你有一个从Crane类继承面来的ForkLift类,就可以使用下面的代码覆盖掉Crane类中的Lift方法:

    Public Class ForkLift
    Inherits Crane
    Overrides Sub Lift(ByRef _eight As Double)
    Height = Height + 10
   End Sub
   End Class

  VB.NET不仅仅可以覆盖方法或属性,而且可以实现方法的重载。利用重载,用户可以使用相同的名字定义具有不同数据类型的参数的方法或属性。例如,如果需要一个组件对具有不同数据类型的一组数据进行排序,利用重载就无需三个具有不同名子的方法(每种数据类型对应一个方法),而只需重载同一个方法即可。下面的代码就是一个重载的例子:

    Overloads Sub SortArray(ByRef _Values()As String)
    ...
   Overloads Sub SortArray(ByRef _Values() As Integer)
    ...
   Overloads Sub SortArray(ByRef _Values() As Object)

  其他的变化:窗体(Forms)现在也成为了一种类,这就意味着类包含了构建一个窗体所必需的全部代码。对于现在需要留心这些代码,你可能会感到迷惑不解,在以前的版本中,这些代码对我们是不透明的,但这一变化带来了更为强大的功能,包括可以继承这些窗体,微软把这一技术称作可视化继承。假设你有一个适合许多对话框的标准格式,例如在窗体的一侧有许多行的按钮、窗体一角有一个图标的格局的对话框。利用可视化继承就可以创建一个模块窗体(类),并在有需要时可以对它进行继承。

[责任编辑:editor]