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