Class Interface (Implements)

Pernyataan Implements di VBA digunakan untuk menunjukkan bahwa sebuah Class VBA mengimplementasikan Class atau Interface yang berbeda.

Dalam pemrograman berorientasi objek (OOP), Class dan Interface adalah komponen penting. Jika kamu belum familiar dengan konsep OOP, disarankan untuk memulai dengan mempelajari tutorial VBA Class terlebih dahulu.

Apa itu Interface?

Sebelum kita masuk ke contoh, mari kita pahami terlebih dahulu apa itu interface.

Secara sederhana, dalam OOP, interface mendefinisikan sekumpulan properti (variabel) dan metode (Sub atau Function) yang harus ada di dalam Class yang mengimplementasikan interface tersebut.

Sebagai contoh, bayangkan jika ingin membuat sekumpulan Class VBA yang mewakili berbagai jenis hewan, seperti yang dijelaskan dalam tutorial VBA Class.

Kita tahu bahwa pada dasarnya, semua hewan memiliki fungsi yang sama. Mereka bisa makan, bergerak, berlari, dan sebagainya.

Sebuah interface akan merepresentasikan semua karakteristik umum yang dimiliki oleh Class Hewan.

Dengan mendefinisikan sebuah interface, kita dapat membuat Collection atau Array dari berbagai jenis hewan tanpa memedulikan bahwa mereka berasal dari Class yang berbeda.

Kita bisa mengakses variabel atau metode umum mereka dengan mudah.

Contoh VBA Implements

Sekarang, mari kita lihat contoh implementasi pernyataan Implements di VBA.

Kita akan mendeklarasikan sekumpulan variabel dan metode dari interface, lalu mengimplementasikannya dalam dua Class.

Contoh ini akan membantu memahami bagaimana interface bekerja dan bagaimana kita bisa menggunakannya untuk membuat kode lebih modular dan mudah dikelola.

Pertma Buat Sebuah Class Module kemudian beri nama misalnya BurungInterface

'Class name: BurungInterface

Public Sub Terbang()
    'Tanpa kode hanya deklarasi
End Sub

Public Function Kecepatan() As Long
    'Tanpa kode hanya deklarasi
End Function

Kemudian Buat lagi sebuah Class dan berinama dengan nama ElangClass

'Class name: ElangClass

Implements burungInterface
 
Public Sub burungInterface_terbang()
    Debug.Print "Elang terbang"
End Sub

Public Function BurungInterface_Kecepatan() As Long
   BurungInterface_Kecepatan = 120
End Function

Sekarang mari kita coba scriptnya dengan membuat script di Standard module

Sub Main()
    Dim Burung As burungInterface
    
    Set Burung = New ElangClass
        
    Burung.Terbang
    Debug.Print Burung.Kecepatan
End Sub

Ketika dijalankan maka pada Immediate akan menghasilan

Elang terbang
120 

Sekarang mari kita tambahkan lagi 1 class baru, sebut saja PipitClass

'Class name: pipitClass

Implements burungInterface
 
Public Sub burungInterface_terbang()
    Debug.Print "Pipit terbang"
End Sub

Public Function BurungInterface_Kecepatan() As Long
   BurungInterface_Kecepatan = 30
End Function

Sekarang mari kita coba scriptnya dengan membuat script di Standard module,

Sub Main()
    Dim Burung(1 To 2) As burungInterface
    
    Set Burung(1) = New ElangClass
    Set Burung(2) = New PipitClass
        
    Burung(1).Terbang
    Debug.Print Burung(1).Kecepatan
    
    Burung(2).Terbang
    Debug.Print Burung(2).Kecepatan
    
End Sub

Ketika dijalankan maka akan menghasilkan

Elang terbang
120 
Pipit Terbang
30

Disini terlihat bahawa metode terbang bisa digunakan oleh ElangClass dan juga PipitClas dengan aksi yang berbeda sesuai dengan class yang digunakan.

nah itulah contoh dari penggunaan Implements.

Leave a Reply

Your email address will not be published. Required fields are marked *

Tutorial Lainnya
Chat WhatsApp
WhatsApp