Dart介面

介面定義任何實體必須遵守的語法。介面定義了一組對象可用的方法。Dart沒有聲明介面的語法。類聲明本身就是Dart中的介面。

類應該使用implements關鍵字來使用介面。實現類必須提供已實現介面的所有功能的具體實現。換句話說,類必須重新定義它希望實現的介面中的每個函數。

語法:實現介面

class identifier implements interface_name

示例

在以下程式中,聲明了一個類:PrinterConsolePrinter類實現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

上一篇: Dart函數 下一篇: Dart類