news 2026/1/15 8:56:52

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/1/6 18:34:07

5个OpenWrt界面主题深度评测:从入门到精通的完整选择指南

5个OpenWrt界面主题深度评测:从入门到精通的完整选择指南 【免费下载链接】luci LuCI - OpenWrt Configuration Interface 项目地址: https://gitcode.com/gh_mirrors/lu/luci 你是否曾经被OpenWrt单调的管理界面困扰?是否想要一个既美观又实用的…

作者头像 李华
网站建设 2026/1/7 2:47:34

AI 智能体 RAG 入门教程

正在寻找⼀种可靠的⽅法来构建智能知识客服或强⼤的知识库?检索增强生成 (RAG) 技术正是您实现这些⽬标的理想选择。 RAG,全称为 Retrieval-Augmented Generation,中⽂译为检索增强⽣成。这项技术的核⼼在于整合两⼤关键功能: 检索…

作者头像 李华
网站建设 2026/1/7 2:47:32

源代码加密软件怎么选?应该考虑哪些关键技术要点

在源代码开发场景中,加密软件的选型需同时兼顾安全防护与开发效率,传统文件透明加密易被绕过、存在文件损坏风险,云桌面则成本高、依赖网络。深信达SDC 沙箱以全磁盘加密、代码级安全防护为核心,适配本机原生开发模式,…

作者头像 李华
网站建设 2026/1/7 2:47:30

LeetCode 3573.买卖股票的最佳时机 V:深度优先搜索

【LetMeFly】3573.买卖股票的最佳时机 V:深度优先搜索 / 动态规划:通俗讲解 力扣题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-v/ 给你一个整数数组 prices,其中 prices[i] 是第 i 天股票的价格&…

作者头像 李华
网站建设 2026/1/7 2:47:28

从零构建智能四足机器人:Mini Pupper开发全流程解析

在机器人技术快速发展的今天,拥有一款能够自主导航、执行复杂动作的四足机器人不再是遥不可及的梦想。Mini Pupper作为一款开源ROS机器人狗套件,为机器人爱好者提供了从硬件组装到软件编程的完整解决方案,让每个人都能亲手打造属于自己的智能…

作者头像 李华