Dart 类的继承 super关键词的使用 实例化子类给父类构造函数传参

Dart 类的继承 super关键词的使用 实例化子类给父类构造函数传参,第1张

Dart 类的继承 super关键词的使用 实例化子类给父类构造函数传参 面向对象的三大特性: 封装、继承、多态 Dart中的类的继承
  1. 子类使用extends关键字来继承父类
  2. 子类会继承父类里面可见的属性和方法 但是不会继承构造函数
  3. 子类能复写父类的方法 getter和setter
class Person {

  String name;

  int age;

  Person(this.name, this.age);

  void printInfo() {

    print('${this.name} ------ ${this.age}');

  }

}

class Web extends Person {

  Web(String name, int age) : super(name, age) {


  }

}

main() {

  // Person p = new Person('张三', 21);

  // p.printInfo(); // 张三 ------ 21


  // Person p1 = new Person('李四', 31);

  // p1.printInfo(); // 李四 ------ 31


  Web w = new Web('王五', 37);

  w.printInfo(); // 王五 ------ 37

}

注意: 最新版本的dart中需要初始化不可为null的实例字段,如果不初始化的话需要在属性前面加上late 

class Person {

  String name;

  int age;

  Person(this.name, this.age);

  void printInfo() {

    print('${this.name} ------ ${this.age}');

  }

}

class Web extends Person {

  late String sex;

  Web(String name, int age, String sex) : super(name, age) {

    this.sex = sex;

  }

  run() {

      print('${this.name} ------ ${this.age} ------ ${this.sex}');

  }

}

main() {

  // Person p = new Person('张三', 21);

  // p.printInfo(); // 张三 ------ 21



  // Person p1 = new Person('李四', 31);

  // p1.printInfo(); // 李四 ------ 31



  Web w = new Web('王五', 37, '男');

  w.printInfo(); // 王五 ------ 37

  w.run(); // 王五 ------ 37 ------ 男

}

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5660500.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存