Dart类的继承和Java一样。
下面是普通的父子继承关系,以及方法的复写

class Father {
  String name = '刘备';

  say() {
    print(name);
  }
}

class Son extends Father {
  String name = '刘禅';

  @override
  say() {
    print('我是$name, 我爹是${super.name}');
  }
}

void main(List<String> args) {
  var father = new Father();
  father.say();
  var son = new Son();
  son.say();
}

继承类的子类构造函数

class Father {
  String name = '刘备';
  String job;

  Father(this.job);

  say() {
    print(name);
  }
}

class Son extends Father {
  String name = '刘禅';

  Son(String job) : super(job);

  @override
  say() {
    print('我是$name, 我爹是${super.name}');
  }
}

void main(List<String> args) {
  var father = new Father('当爹');
  father.say();
  var son = new Son('当儿子');
  son.say();
}

子类不能访问父类中的私有属性和私有方法
需要通过在父类中声明一个方法去访问私有属性或者私有方法
例如getter方法

标签: none

添加新评论