Bagikan melalui


Menerapkan Pernyataan

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

Sintaks

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

Generator

interfacename
Harus diisi. Antarmuka yang properti, prosedur, dan peristiwanya harus diimplementasikan oleh anggota yang sesuai di kelas atau struktur.

interfacemember
Harus diisi. Anggota antarmuka yang sedang diimplementasikan.

Keterangan

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

Pernyataan Implements harus segera mengikuti pernyataan Class atau Structure.

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

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

Contoh 1

Contoh berikut menunjukkan cara menggunakan pernyataan Implements untuk mengimplementasikan anggota antarmuka. Ini mendefinisikan antarmuka bernama ICustomerInfo dengan peristiwa, properti, dan prosedur. Kelas customerInfo 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 pernyataan Implements pada baris kode sumber terpisah untuk menunjukkan bahwa kelas mengimplementasikan semua anggota antarmuka ICustomerInfo. Kemudian setiap anggota di kelas menggunakan kata kunci Implements sebagai bagian dari deklarasi anggotanya untuk menunjukkan bahwa anggota antarmuka tersebut mengimplementasikan anggota antarmuka itu.

Contoh 2

Dua prosedur berikut menunjukkan cara Anda dapat menggunakan antarmuka yang diimplementasikan dalam contoh sebelumnya. Untuk menguji implementasi, tambahkan prosedur ini ke proyek Anda dan panggil prosedur 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

Lihat juga