dart 学习抽象类学习接口

2023-12-20 22:05:54

要学会区分一下 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继承的话连同变量都要重写

文章来源:https://blog.csdn.net/wniuniu_/article/details/135116733
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。