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.