Dart接口
/* 和Java一样,dart也有接口,但是和Java还是有区别的。 首先,dart的接口没有interface关键字定义接口,而是普通类或抽象类都可以作为接口被实现。 同样使用implements关键字进行实现。 但是dart的接口有点奇怪,如果实现的类是普通类,会将普通类和抽象中的属性的方法全部需要覆写一遍。 而因为抽象类可以定义抽象方法,普通类不可以,所以一般如果要实现像Java接口那样的方式,一般会使用抽象类。 建议使用抽象类定义接口。 */ /* 定义一个DB库 支持 mysql mssql mongodb mysql mssql mongodb三个类里面都有同样的方法 */ abstract class Db{ //当做接口 接口:就是约定 、规范 String uri; //数据库的链接地址 add(String data); save(); delete(); } class Mysql implements Db{ @override String uri; Mysql(this.uri); @override add(data) { // TODO: implement add print('这是mysql的add方法'+data); } @override delete() { // TODO: implement delete return null; } @override save() { // TODO: implement save return null; } remove(){ } } class MsSql implements Db{ @override String uri; @override add(String data) { print('这是mssql的add方法'+data); } @override delete() { // TODO: implement delete return null; } @override save() { // TODO: implement save return null; } } main() { Mysql mysql=new Mysql('xxxxxx'); mysql.add('1243214'); }
/* 和Java一样,dart也有接口,但是和Java还是有区别的。 首先,dart的接口没有interface关键字定义接口,而是普通类或抽象类都可以作为接口被实现。 同样使用implements关键字进行实现。 但是dart的接口有点奇怪,如果实现的类是普通类,会将普通类和抽象中的属性的方法全部需要覆写一遍。 而因为抽象类可以定义抽象方法,普通类不可以,所以一般如果要实现像Java接口那样的方式,一般会使用抽象类。 建议使用抽象类定义接口。 */ /* 定义一个DB库 支持 mysql mssql mongodb mysql mssql mongodb三个类里面都有同样的方法 */ // import 'lib/Mysql.dart'; import 'lib/MsSql.dart'; main() { // Mysql mysql=new Mysql('xxxxxx'); // mysql.add('1243214'); MsSql mssql=new MsSql(); mssql.uri='127.0.0.1'; mssql.add('增加的数据'); }
import 'Db.dart'; class MsSql implements Db{ @override String uri; @override add(String data) { print('这是mssql的add方法'+data); } @override delete() { // TODO: implement delete return null; } @override save() { // TODO: implement save return null; } }
abstract class Db{ //当做接口 接口:就是约定 、规范 String uri; //数据库的链接地址 add(String data); save(); delete(); }
/* Dart中一个类实现多个接口: */ abstract class A{ String name; printA(); } abstract class B{ printB(); } class C implements A,B{ @override String name; @override printA() { print('printA'); } @override printB() { // TODO: implement printB return null; } } void main(){ C c=new C(); c.printA(); }
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!
posted on 2019-06-15 10:56 LoaderMan 阅读(4611) 评论(0) 编辑 收藏 举报