news 2026/6/23 21:12:00

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/6/23 19:37:37

MCP协议驱动企业级AI集成:芋道源码的智能化升级实践

MCP协议驱动企业级AI集成:芋道源码的智能化升级实践 【免费下载链接】ruoyi-vue-pro 🔥 官方推荐 🔥 RuoYi-Vue 全新 Pro 版本,优化重构所有功能。基于 Spring Boot MyBatis Plus Vue & Element 实现的后台管理系统 微信小…

作者头像 李华
网站建设 2026/6/22 20:44:11

终极指南:使用gsplat.js实现高性能3D高斯点云渲染

终极指南:使用gsplat.js实现高性能3D高斯点云渲染 【免费下载链接】gsplat.js JavaScript Gaussian Splatting library. 项目地址: https://gitcode.com/gh_mirrors/gs/gsplat.js gsplat.js是一个专为现代浏览器设计的JavaScript 3D高斯点云渲染库&#xff0…

作者头像 李华
网站建设 2026/6/23 19:37:32

把CNN和SVR捏在一起做预测这事儿,乍听有点玄乎,实操起来倒挺有意思。咱们今天不整那些虚头巴脑的理论,直接上手撸代码。先甩个模型结构出来镇楼

基于CNN-SVR的多输入单输出组合回归预测模型 python代码 特征提取与非线性建模: CNN-SVR的核心思想是使用卷积神经网络来提取数据中的重要特征。 CNN具有强大的特征提取能力,能够自动学习数据中的非线性特征。 支持向量回归(SVR)…

作者头像 李华
网站建设 2026/6/23 19:37:33

Memobase完整安装指南:构建AI长期记忆系统的7个关键步骤

Memobase完整安装指南:构建AI长期记忆系统的7个关键步骤 【免费下载链接】memobase Profile-Based Long-Term Memory for AI Applications 项目地址: https://gitcode.com/gh_mirrors/me/memobase 您是否正在寻找一种能让AI助手真正记住用户对话内容的技术方…

作者头像 李华
网站建设 2026/6/23 16:08:29

Faiss HNSW性能瓶颈突破:5步诊断与3倍提速优化实战

Faiss HNSW性能瓶颈突破:5步诊断与3倍提速优化实战 【免费下载链接】faiss A library for efficient similarity search and clustering of dense vectors. 项目地址: https://gitcode.com/GitHub_Trending/fa/faiss 当你的向量检索系统从百万级扩展到千万级…

作者头像 李华
网站建设 2026/6/23 12:07:04

5个立竿见影的wgpu性能优化技巧:让你的Rust图形应用帧率翻倍

还在为wgpu图形应用的卡顿问题而烦恼吗?作为跨平台纯Rust图形API,wgpu凭借其安全特性和硬件加速能力正成为游戏引擎、数据可视化等领域的首选方案。本文将从实际应用角度出发,分享5个简单易行的性能优化策略,让你在短时间内显著提…

作者头像 李华