07-Dart 类的继承
2021/12/17 23:26:23
本文主要是介绍07-Dart 类的继承,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本篇从大地老师《Dart 入门实战教程》学习整理而来。
- 子类使用extends关键词来继承父类
- 子类会继承父类里面可见的属性和方法 但是不会继承构造函数
- 子类能复写父类的方法 getter和setter
简单继承
- 继承的类就有了父类的属性和非静态方法
class Person { String name='张三'; num age=20; void printInfo() { print("${this.name}---${this.age}"); } } class Web extends Person{ } main(){ Web w=new Web(); print(w.name); // 张三 w.printInfo(); // 张三---20 }
super 关键词
- 实例化子类给父类构造函数传参
class Person { late String name; late num age; Person(this.name, this.age); void printInfo() { print("${this.name}---${this.age}"); } } class Web extends Person{ late String sex; Web(String name, num age,String sex) : super(name, age){ this.sex=sex; } run(){ print("${this.name}---${this.age}--${this.sex}"); } } main() { Web w=new Web('张三', 12,"男"); w.printInfo(); // 张三---12 w.run(); // 张三---12--男 }
复写父类的方法
- @override 子类继承父类,子类中与父类相同的方法将会覆盖继承自父类的非静态方法
class Person { String name; num age; Person(this.name, this.age); void printInfo() { print("${this.name}---${this.age}"); } work() { print("${this.name}在工作..."); } } class Web extends Person { Web(String name, num age) : super(name, age); // 子类自己的方法 run() { print('run'); // 子类调用父类的方法 super.work(); // 李四在工作... } //覆写父类的方法 @override //可以写也可以不写 建议在覆写父类方法的时候加上 @override void printInfo() { print("姓名:${this.name}---年龄:${this.age}"); } @override work() { print("${this.name}的工作是写代码"); } } main() { Web w = new Web('李四', 20); w.printInfo(); // 姓名:李四---年龄:20 w.work(); // 李四的工作是写代码 }
这篇关于07-Dart 类的继承的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?