接口定义任何实体必须遵守的语法。接口定义了一组对象可用的方法。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