Dart中的接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dart中的接口相关的知识,希望对你有一定的参考价值。
参考技术A 视频地址 https://www.bilibili.com/video/av52490605?p=11和Java一样,dart也有接口,但是和Java还有区别
首先,dart的接口没有interface关键字定义接口,而是普通类或抽象类都可以作为接口被实现。
同样使用implements关键字进行实现。
但是dart的接口如果实现的类是普通类,会将普通类和抽象类中的属性方法全部要写一遍。
而因为抽象类可以定义抽象方法,普通类不可以,所以一般如果要实现像java接口那样的方式,一般会使用抽象类。
建议使用抽象类定义接口。
Flutter/Dart - Dart中的抽象类 多态 和接口
参考技术ADart中的抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。
接下来,我们实现一个Animal类 要求它的子类必须包含eat方法
多态的定义
上面例子就是典型的多态 Cat 和 Dog 通过继承父类实现了不同的方法。
下面这个例子是父类定义一个方法不去实现,让继承它的子类去实现的一个体现。
和java一样,dart也有接口,但是和java是有区别的
首先dart的接口没有interface关键字来定义接口,而是普通类或抽象类都可以作为接口被实现,同样使用implements关键字进行实现。
但是dart接口有点奇怪,如果实现的类是普通类,会将普通类和抽象中的属性的方法全部需要覆写一遍。
而因为抽象类可以定义抽象方法,普通类不可以,所以一般如果要实现java接口那样的方式,一般会使用抽象类。
建议使用用抽象类定义接口.
接下来定义一个db库 支持mysql mssql,mysql mssql 中有同样的方法
以上是关于Dart中的接口的主要内容,如果未能解决你的问题,请参考以下文章
Dart 中的 extends / with / implements
Firestore 是不是有 Dart 接口 - 使用 https://firebase.google.com/docs/firestore/quickstart 中的 API?