要学会区分一下 extends 和 implement 的区别
二者都是继承抽象类
对于 extends 来说,只需要重写父类中的抽象方法
但是对于implement来说需要重写父类中全部的方法
abstract class Animal {
String? name;
eat(); // 这是一个抽象方法
}
class cat extends Animal {
eat() {
print("小狗爱吃狗粮");
}
}
看看上面这个例子,extends继承只需要重写父类中的抽象方法
abstract class Db {
// 当作接口
late String name;
add();
save();
delete();
}
class Mysql implements Db {
Mysql(this.name);
add() {
// TODO: implement add
throw UnimplementedError();
}
delete() {
// TODO: implement delete
throw UnimplementedError();
}
save() {
// TODO: implement save
throw UnimplementedError();
}
late String name;
}
如果是implement继承的话连同变量都要重写