Bagikan melalui


Menerapkan Pernyataan

Menentukan satu atau beberapa antarmuka, atau anggota antarmuka, yang harus diimplementasikan dalam definisi kelas atau struktur tempat antarmuka tersebut muncul.

Sintaksis

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

Bagian

interfacename
Dibutuhkan. Antarmuka yang properti, prosedur, dan peristiwanya akan diimplementasikan oleh anggota terkait di kelas atau struktur.

interfacemember
Dibutuhkan. Anggota antarmuka yang sedang diimplementasikan.

Komentar

Antarmuka adalah kumpulan prototipe yang mewakili anggota (properti, prosedur, dan peristiwa) antarmuka yang dienkapsulasi. Antarmuka hanya berisi deklarasi untuk anggota; kelas dan struktur mengimplementasikan anggota ini. Untuk informasi selengkapnya, lihat Antarmuka.

Pernyataan Implements harus segera mengikuti Class pernyataan atau Structure .

Saat menerapkan antarmuka, Anda harus mengimplementasikan semua anggota yang dideklarasikan dalam antarmuka. Menghilangkan anggota dianggap sebagai kesalahan sintaksis. Untuk mengimplementasikan anggota individual, Anda menentukan kata kunci Implements (yang terpisah dari Implements pernyataan) saat Anda mendeklarasikan anggota di kelas atau struktur. Untuk informasi selengkapnya, lihat Antarmuka.

Kelas dapat menggunakan Implementasi privat properti dan prosedur, tetapi anggota ini hanya dapat diakses dengan mentransmisikan instans kelas penerapan ke dalam variabel yang dinyatakan sebagai jenis antarmuka.

Contoh 1

Contoh berikut menunjukkan cara menggunakan Implements pernyataan untuk mengimplementasikan anggota antarmuka. Ini mendefinisikan antarmuka ICustomerInfo bernama dengan peristiwa, properti, dan prosedur. customerInfo Kelas mengimplementasikan semua anggota yang ditentukan dalam antarmuka.

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

Perhatikan bahwa kelas customerInfo menggunakan Implements pernyataan pada baris kode sumber terpisah untuk menunjukkan bahwa kelas mengimplementasikan semua anggota ICustomerInfo antarmuka. Kemudian setiap anggota di kelas menggunakan Implements kata kunci sebagai bagian dari deklarasi anggotanya untuk menunjukkan bahwa anggota antarmuka tersebut mengimplementasikan anggota antarmuka tersebut.

Contoh 2

Dua prosedur berikut menunjukkan bagaimana Anda dapat menggunakan antarmuka yang diterapkan dalam contoh sebelumnya. Untuk menguji implementasi, tambahkan prosedur ini ke proyek Anda dan panggil testImplements prosedur .

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

Lihat juga