news 2026/8/28 22:49:14

Android学Dart学习笔记第十八节 类-继承

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android学Dart学习笔记第十八节 类-继承

继承

在dart中,和java一样,使用extends创建子类,使用super引用超类:

classTelevision{voidturnOn(){_illuminateDisplay();_activateIrSensor();}// ···}classSmartTelevisionextendsTelevision{voidturnOn(){super.turnOn();_bootNetworkInterface();_initializeMemory();_upgradeApps();}// ···}

Overriding members

子类可以覆盖实例方法(包括操作符)、getter和setter。可以使用@override注解表示有意覆盖成员

classTelevision{// ···setcontrast(int value){// ···}}classSmartTelevisionextendsTelevision{@overridesetcontrast(num value){// ···}// ···}

覆盖方法的声明必须在以下几个方面与它覆盖的方法匹配:
返回类型必须与被覆盖方法的返回类型相同(或为其子类型)。
形参类型必须与被覆盖方法的形参类型相同(或超类型)。在前面的例子中,智能电视的对比设置器将参数类型从int改为超类型num。
如果被覆盖的方法接受n个位置参数,那么覆盖的方法也必须接受n个位置参数。
泛型方法不能覆盖非泛型方法,非泛型方法也不能覆盖泛型方法。

noSuchMethod

当代码尝试使用不存在的方法或实例变量时,要检测或响应,你可以覆盖noSuchMethod():

classA{// Unless you override noSuchMethod, using a// non-existent member results in a NoSuchMethodError.@overridevoidnoSuchMethod(Invocation invocation){print('You tried to use a non-existent member: ''${invocation.memberName}',);}}

“Dart 允许你调用不存在的方法,但必须有安全网:要么你明确告诉编译器’我不知道这是什么类型’(用 dynamic),要么你准备好’备用方案’(自定义 noSuchMethod())。”
如果不这么做,编译检查都过不了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 10:56:23

COMSOL中基于浆液黏度时空变化的水平裂隙岩体注浆扩散数值模拟

COMSOL基于浆液黏度时空变化的水平裂隙岩体注浆扩散数值模拟岩层注浆这事儿挺有意思的,就像给地下裂缝打葡萄糖浆似的。最近用COMSOL折腾了个动态黏度的注浆模型,发现浆液这玩意儿根本不是老实人——它的黏度会在流动过程中随时空变化,把牛顿…

作者头像 李华
网站建设 2026/8/28 19:52:15

突破架构边界:Rust跨平台性能测试实战指南

突破架构边界:Rust跨平台性能测试实战指南 【免费下载链接】cross “Zero setup” cross compilation and “cross testing” of Rust crates 项目地址: https://gitcode.com/gh_mirrors/cro/cross 在当今多架构并行的技术环境下,跨平台性能测试已…

作者头像 李华
网站建设 2026/8/28 21:59:21

腾讯云国际省钱实战:聊聊怎么把云成本真正降下来

看着腾讯云国际版的月账单,不少出海团队和开发者都心情复杂。云服务的弹性和方便没得说,但成本一栏数字扎眼也是真。怎么在不影响业务的前提下,把该省的钱省下来?其实这不只是找优惠券这么简单,更得懂怎么合理用资源、…

作者头像 李华
网站建设 2026/8/29 9:56:10

【每日算法】LeetCode 560. 和为 K 的子数组

对前端开发者而言,学习算法绝非为了“炫技”。它是你从"页面构建者"迈向"复杂系统设计者"的关键阶梯。它将你的编码能力从"实现功能"提升到"设计优雅、高效解决方案"的层面。从现在开始,每天投入一小段时间&…

作者头像 李华