Dart语言教程:接口(类声明本身就是Dart中的接口)

2019-06-2215:14:40编程语言入门到精通Comments3,509 views字数 1206阅读模式

接口定义任何实体必须遵守的语法。接口定义了一组对象可用的方法。Dart没有声明接口的语法。类声明本身就是Dart中的接口。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html

类应该使用implements关键字来使用接口。实现类必须提供已实现接口的所有功能的具体实现。换句话说,类必须重新定义它希望实现的接口中的每个函数。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html

语法:实现接口文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html

class identifier implements interface_name
Dart

示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html

在以下程序中,声明了一个类:PrinterConsolePrinter类实现Printer类的隐式接口声明。main函数中使用new关键字创建ConsolePrinter类的对象。该对象用于调用ConsolePrinter类中定义的函数print_data文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html

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__________"); 
   } 
}
Dart

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html

__________Printing to Console__________
Shell

实现多个接口文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html

一个类可以实现多个接口,接口名称之间用逗号分隔。下面给出了相同的语法 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html

class identifier implements interface-1,interface_2,interface_4…….
Dart

以下示例显示如何在Dart中实现多个接口 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html

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; 
   } 
}
Dart

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html

The gross total: 1000 
Discount:50

原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/dart/dart_programming_interfaces.html#article-start文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13755.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/13755.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定