界面更改(针对 Visual Basic 6.0 用户)

更新:2007 年 11 月

Visual Basic 中定义的接口是一种类型,该类型定义了一个公共成员列表。不能实例化或实现 Interface 类型。

接口和类

类的接口是其公共成员的列表。在 Visual Basic 2008 中,可使用 Interface 语句声明一个定义公共成员列表的类型。包含 Implements 语句的类通过实现接口的每个成员来添加接口成员。这与使用 Inherits 关键字的实现继承形成了鲜明的对比。通过实现继承,成员从基类继承,无需在派生类中实现。

在 .NET Framework 中,接口通常由类用于为应用程序中的某些服务提供支持。例如,.NET Framework 规定如果类实现 System.IComparable 接口,则运行库对类的实例排序(如果这些类包含在 ArrayList 中)。

有关在 Visual Basic 2008 中使用接口的更多信息,请参见 Visual Basic 中的接口

Visual Basic 6.0

在 Visual Basic 6.0 中,任何类都可充当接口。通过使用 Implements 语句,任何类都可实现其他类的接口,如下所示。

' Contents of class BaseClass
Public Sub BaseMethod()
End Sub

' Contents of class DerivedClass
Implements BaseClass
Private Sub BaseClass_BaseMethod()
End Sub

如果类的各个成员不必包含任何代码,它们就可以不包含代码。

Visual Basic 2008

Visual Basic 2008 明确区分类和接口。类在 Class 语句中声明;而接口在 Interface 语句中声明。类不能充当接口。若要充当接口,必须使用 Interface 声明类型。不实现接口的成员。实际上,该语法不允许接口定义中出现类似 End Sub 的代码行。接口成员在声明接口的类中使用 Implements 语句实现:

Interface Printable
    Sub Print()
    Property Mode() As Integer
End Interface

Public Class Tree
    Implements Printable

    Private modeValue As Integer
    Public Property Mode() As Integer Implements Printable.Mode
        Get
            Return modeValue
        End Get
        Set(ByVal Value As Integer)
            modeValue = Value
        End Set
    End Property

    Public Sub Print() Implements Printable.Print
        ' Add code to print a tree.
    End Sub
End Class

升级建议

在 Visual Basic 6.0 中实现继承的唯一方法是使用 Implements 语句和基类。在较新版本的 Visual Basic 中有两种类型的继承:实现继承和接口继承。应该选择的类型取决于您的应用程序。要注意的问题包括:

  • 使用 Inherits 语句 的实现继承使您无需编写更多代码即可创建新类。只在需要修改基类行为时添加代码。使用接口继承时必须为每个基类成员添加代码。

  • 接口可以在要从多个类继承时使用。Visual Basic 2008 仅支持从一个类继承,但一个类可实现多个接口。

  • .NET Framework 定义了多个可简化常见编程任务的接口。示例包括 IComparableISerializableIFormattable

  • 对于很多 .NET Framework 接口,.NET Framework 还提供一个实现接口的类。一个例子便是实现 IComponent 接口的 Component 类。通过使用 Inherits 语句Component 继承,类无需编写任何代码即可获得 IComponent 接口的所有功能。

请参见

参考

Interface 语句 (Visual Basic)

Class 语句 (Visual Basic)

Inherits 语句