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 阅读(296) 评论(0) 收藏 举报
浙公网安备 33010602011771号