介面定義任何實體必須遵守的語法。介面定義了一組物件可用的方法。Dart沒有宣告介面的語法。類宣告本身就是Dart中的介面。
類應該使用implements
關鍵字來使用介面。實現類必須提供已實現介面的所有功能的具體實現。換句話說,類必須重新定義它希望實現的介面中的每個函式。
語法:實現介面
class identifier implements interface_name
範例
在以下程式中,宣告了一個類:Printer
。ConsolePrinter
類實現Printer
類的隱式介面宣告。main
函式中使用new
關鍵字建立ConsolePrinter
類的物件。該物件用於呼叫ConsolePrinter
類中定義的函式print_data
。
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__________");
}
}
執行上面範例程式碼,得到以下結果 -
__________Printing to Console__________
實現多個介面
一個類可以實現多個介面,介面名稱之間用逗號分隔。下面給出了相同的語法 -
class identifier implements interface-1,interface_2,interface_4…….
以下範例顯示如何在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;
}
}
執行上面範例程式碼,得到以下結果 -
The gross total: 1000
Discount:50