Dart里继承extends和实现implements的区别
abstract class Base { void fuck(); void shit() { print('sfjkl'); } } class ExtClass extends Base { @override void fuck() { // 只需要实现父类中没有定义的方法 } } class ImpClass implements Base { @override void fuck() { // 把Base当接口时必须实现里面所有的方法和属性 } @override void shit() { // 这个在Base里是已经实现了的,但是由于这里将Base当成接口,所以仍然需要实现,否则继承和实现就可以说完全没有区别了; } }
还有就是implements里不能有super【即不能调用基类的构造方法】,而extends则一定会调用基类的构造方法(可能是隐式调用默认构造方法)
posted on 2021-05-22 10:31 Silentdoer 阅读(281) 评论(0) 编辑 收藏 举报