Apakah kita akan user interface ? tentu saja bukan ya, kita akan membahas salah satu konsep dari OOP yaitu interface. Here we goo..
Interface
Kita sebelumnya sudah belajar tentang abstract class, kurang lebih konsep nya sama dengan Interface.
Jika kamu sebelumnya belajar bahasa pemograman dengan konsep OOP pasti tidak asing dengan istilah interface akan tetapi ada perbedaan penggunaan interface di Dart dengan bahasa pemograman lainnya. Jika kamu dari bahasa Java atau kotlin penulisan interface di awali dengan kata kunci interface
sedangkan di Dart tidak ada keyword interface. Lalu bagaimana cara kita membuat interface ? kita akan menggunakan kata kunci abstract
dan kita akan menambahkan kata kunci implements
untuk mengimplementasikan interface tersebut.
Berikut template untuk membuat interface di Dart :
abstract class InterfaceClassName{
...
}
class ClassName implements InterfaceClassName {
...
}
Lalu apa bedanya dengan abstract class :
- Semua yang ada di interface wajib diturunkan ke subclass atau child class seperti kontrak yang harus dipenuhi. Property dan method wajib diimplementasikan. Sedangkan abstract class tidak wajib diimplementasikan, hanya method abstract saja.
- Abstract class menggunakan kata kunci
extends
sedangkan interface menggunakan kata kunciimplements
. - Abstract class hanya bisa diextends satu kali sedangkan interface bisa diimplementasikan lebih dari satu.
Berikut code penggunaan abstract class :
abstract class IBuah {
String? nama;
String? warna;
String rasa();
}
class Apel implements IBuah {
@override
String? nama;
@override
String? warna;
@override
String rasa() {
throw UnimplementedError();
}
}
Jika kamu ingin melakukan implementasi lebih dari satu interface, kamu bisa menggunakan tanda koma ,
seperti berikut :
abstract class IPetani {}
class Apel implements IBuah, IPetani {
//body
}
Sekian materi pada kali ini, semoga bermanfaat. Terima kasih.