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.
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.
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.