Dart接口

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