抽象类

如果类共享通用功能,则可以将其分组到基类或抽象类中。抽象类可以包含部分实现或根本不包含实现,并允许派生类型覆盖基本实现。

VisualBasic.NET 中的抽象类必须声明为 MustInherit,并且无法实例化。

Public MustInherit Class Vehicle
     Private Property _numberOfWheels As Integer
     Private Property _engineSize As Integer

     Public Sub New(engineSize As Integer, wheels As Integer)
         _numberOfWheels = wheels
         _engineSize = engineSize
     End Sub

     Public Function DisplayWheelCount() As Integer
         Return _numberOfWheels
     End Function
End Class

然后一个子类型可以改变这个抽象类,如下所示:

Public Class Car
    Inherits Vehicle
End Class

Car 将继承车辆中的所有声明类型,但只能基于底层访问修饰符访问它们。

Dim car As New Car()
car.DisplayWheelCount()

在上面的示例中,创建了一个新的 Car 实例。然后调用 DisplayWheelCount() 方法,该方法将调用基类 Vehicles 实现。