Implements 语句

指定一个或多个接口或接口成员,这些接口或接口成员必须在它们所在的类或结构定义中实现。

Implements interfacename [, ...]
-or-
Implements interfacename.interfacemember [, ...]

部件

  • interfacename
    必选。 一个接口,其属性、过程和事件将由类或结构中对应的成员来实现。

  • interfacemember
    必选。 正被实现的接口的成员。

备注

接口是表示该接口封装的成员(属性、过程和事件)的原型集合。 接口只包含成员的声明;类和结构实现这些成员。

Implements 语句必须紧跟在 Class 或 Structure 语句的后面。

当实现接口时,必须实现该接口中声明的所有成员。 省略任何成员被认为是语法错误。 若要实现单个成员,您在类或结构中声明该成员时要指定 Implements 子句 (Visual Basic) 关键字(它与 Implements 语句是分离的)。 有关更多信息,请参见 接口 (Visual Basic)

类可以使用属性和过程的 Private (Visual Basic) 实现,但只能通过将实现类的实例转换为被声明为接口类型的变量来访问这些成员。

示例

下面的示例演示如何使用 Implements 语句来实现接口的成员。 该示例使用事件、属性和过程定义一个名为 ICustomerInfo 的接口。 类 customerInfo 实现该接口中定义的所有成员。

Public Interface ICustomerInfo
    Event updateComplete()
    Property customerName() As String
    Sub updateCustomerStatus()
End Interface

Public Class customerInfo
    Implements ICustomerInfo
    ' Storage for the property value.
    Private customerNameValue As String
    Public Event updateComplete() Implements ICustomerInfo.updateComplete
    Public Property CustomerName() As String _
        Implements ICustomerInfo.customerName
        Get
            Return customerNameValue
        End Get
        Set(ByVal value As String)
            ' The value parameter is passed to the Set procedure
            ' when the contents of this property are modified.
            customerNameValue = value
        End Set
    End Property

    Public Sub updateCustomerStatus() _
        Implements ICustomerInfo.updateCustomerStatus
        ' Add code here to update the status of this account.
        ' Raise an event to indicate that this procedure is done.
        RaiseEvent updateComplete()
    End Sub
End Class

请注意,类 customerInfo 在单独的源代码行上使用 Implements 语句,以指示该类实现 ICustomerInfo 接口的所有成员。 然后,该类中的每个成员使用 Implements 关键字作为其成员声明的一部分,以指示它实现该接口成员。

下面的两个过程演示如何使用上例中实现的接口。 若要测试该实现,请将这些过程添加到项目中并调用 testImplements 过程。

Public Sub testImplements()
    ' This procedure tests the interface implementation by
    ' creating an instance of the class that implements ICustomerInfo.
    Dim cust As ICustomerInfo = New customerInfo()
    ' Associate an event handler with the event that is raised by
    ' the cust object.
    AddHandler cust.updateComplete, AddressOf handleUpdateComplete
    ' Set the customerName Property
    cust.customerName = "Fred"
    ' Retrieve and display the customerName property.
    MsgBox("Customer name is: " & cust.customerName)
    ' Call the updateCustomerStatus procedure, which raises the
    ' updateComplete event.
    cust.updateCustomerStatus()
End Sub

Sub handleUpdateComplete()
    ' This is the event handler for the updateComplete event.
    MsgBox("Update is complete.")
End Sub

请参见

参考

Implements 子句 (Visual Basic)

Interface 语句 (Visual Basic)

其他资源

接口 (Visual Basic)