【Dart】类与对象-继承

继承

  • 根据类的先后顺序,可以将类分成父类子类
  • 子类通过extends关键字继承父类
    • 继承后,子类可以使用父类的中,可见的内容(属性或方法)
  • 子类中,可以通过@override元数据来标记"覆写"方法
    • "覆写"方法:子类中与父类中同名的方法
  • 子类中,可以通过super关键字来引用父类中,可见的内容
    • 属性
    • 方法(普通构造函数,命名构造函数)
class Father {
  String name = '刘备';
  num _money = 10000;

  say() {
    print('我是$name');
  }

  get getMoney {
    return _money;
  }

  String job;

  Father(this.job);
  Father.origin(this.job);
}


---
import 'Father.dart';

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

  // Son(String job) :super(job)

  @override
  say() {
    super.say();
    print('我是刘禅,我爹是${super.name},他的工作是${super.job}');
  }

  //继承命名构造函数
  // Son(String job) : super.origin(job);
  Son.origin(String job) :super.origin(job);
}
---
import 'Father.dart';
import 'Son.dart';

void main() {
  var f = new Father('皇帝');
  print(f.name);
  // var s = new Son('皇帝');
  var s =new Son.origin('卖草鞋的');
  print(s.name);
  //子类不能访问父类的私有内容,只能继承可见的内容
  // print(s._money);
  print(s.getMoney);
  s.say();
  print(s.name);
}

下一节抽象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容