Pemrograman Dart - Antarmuka
Sebuah interfacemendefinisikan sintaks yang harus dipatuhi oleh setiap entitas. Antarmuka menentukan sekumpulan metode yang tersedia pada suatu objek. Dart tidak memiliki sintaks untuk mendeklarasikan antarmuka. Deklarasi kelas itu sendiri adalah antarmuka di Dart.
Classesharus menggunakan kata kunci implement untuk dapat menggunakan antarmuka. Kelas pelaksana wajib menyediakan implementasi konkret dari semua fungsi antarmuka yang diimplementasikan. Dengan kata lain, kelas harus mendefinisikan ulang setiap fungsi dalam antarmuka yang ingin diimplementasikan.
Sintaks: Menerapkan Antarmuka
class identifier implements interface_name
Contoh
Dalam program berikut, kami mendeklarasikan kelas Printer. ItuConsolePrinter kelas mengimplementasikan deklarasi antarmuka implisit untuk Printerkelas. Itumain fungsi membuat objek dari ConsolePrinter kelas menggunakan newkata kunci. Objek ini digunakan untuk menjalankan fungsiprint_data didefinisikan di ConsolePrinter kelas.
void main() {
ConsolePrinter cp= new ConsolePrinter();
cp.print_data();
}
class Printer {
void print_data() {
print("__________Printing Data__________");
}
}
class ConsolePrinter implements Printer {
void print_data() {
print("__________Printing to Console__________");
}
}
Ini harus menghasilkan yang berikut output -
__________Printing to Console__________
Menerapkan Banyak Antarmuka
Sebuah kelas dapat mengimplementasikan banyak antarmuka. Antarmuka dipisahkan oleh koma. Itusyntax untuk hal yang sama diberikan di bawah ini -
class identifier implements interface-1,interface_2,interface_4…….
Pengikut example menunjukkan bagaimana Anda dapat mengimplementasikan banyak antarmuka di Dart -
void main() {
Calculator c = new Calculator();
print("The gross total : ${c.ret_tot()}");
print("Discount :${c.ret_dis()}");
}
class Calculate_Total {
int ret_tot() {}
}
class Calculate_Discount {
int ret_dis() {}
}
class Calculator implements Calculate_Total,Calculate_Discount {
int ret_tot() {
return 1000;
}
int ret_dis() {
return 50;
}
}
Ini harus menghasilkan yang berikut output -
The gross total: 1000
Discount:50