1.Dart中接口的定义:
1.1.首先,dart的接口没有interface关键字定义接口,而是普通类或抽象类都可以作为接口被实现。
1.2.同样使用implements关键字进行实现。
1.3.dart的接口有点奇怪,如果实现的类是普通类,会将普通类和抽象中的属性的方法全部需要覆写一遍。
1.4.因为抽象类可以定义抽象方法,普通类不可以,所以一般如果要实现像Java接口那样的方式,一般会使用抽象类。
1.5.建议使用抽象类定义接口。
2.实例:
2.1.先定义一个抽象类
abstract class Db{ //当做接口 接口:就是约定 、规范
String uri; //数据库的链接地址
add(String data);
save();
delete();
}
2.2.实现接口 (需要使用到关键字implements)
class Mysql implements Db{
//必须实现抽象类里面所有的属性
@override
String uri;
Mysql(this.uri);//可以进行实例化
//必须实现抽象类里面所有的方法
@override
add(data) {
print('这是mysql的add方法'+data);
}
@override
delete() {
return null;
}
@override
save() {
return null;
}
}
3.一个类实现多个接口
3.1.定义多个抽象类
abstract class A{
String name;
printA();
}
abstract class B{
printB();
}
3.2.多个接口的实现(实现多个接口的时候中间使用逗号分割)
class C implements A,B{
//重写A类中的属性
@override
String name;
//重写A类中的方法
@override
printA() {
print('printA');
}
//重写B类中的方法
@override
printB() {
return null;
}
}