Android学Dart学习笔记第二十四节 类-可调用对象Class()()

序言

Dart 类的实例能像函数一样被调用,需要实现 call () 方法。

call () 方法能让任何定义了该方法的类的实例模仿函数的行为。此方法支持与普通函数相同的功能,例如参数和返回类型。

call函数

看看下面的代码,你觉得这句话是什么意思

复制代码
  var a = A();
  a();

不卖关子了,dart中提供了对于call函数的支持,使得对象实例无需参数名即刻调用。

相当于call是实例对象的默认函数。

call函数的定义和普通函数完全一致,但是函数名必须是call

复制代码
class A{
  call() {
    print('call');
  }
}

如何调用call函数

复制代码
void main(List<String> arguments) {
  A()();
  var a = A();
  a();
}

A()() :当你了解到call函数的存在后这句话也就不难理解了,他等同于下面的

var a = A();

a();

相关推荐
每天题库1 小时前
架子工脚手架工题库:安全操作考点与模拟题练习指南
学习·安全·考试·题库·考证
yangmu32031 小时前
Codex 提示词优化教程:用四要素把模糊需求变成可执行任务
人工智能·学习
LCD液晶屏2 小时前
京瓷液晶屏停产替代:杭州立煌科技工业 LCD 解决方案
android·科技
无敌贵点大王2 小时前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread
有范先生3 小时前
这次户外断粮危机后,我更在意主食能不能扛住极端环境了
笔记
2501_932750263 小时前
Android 自定义 View 入门
android
喜欢打篮球的普通人4 小时前
MiniMind 学习笔记(十二):Pretrain 实操——从版本梳理到 8GB 显卡上的真实训练
人工智能·笔记·学习
m4Rk_4 小时前
【论文阅读】Agent 记忆机制(87):VizoMem——把文本历史转化为可检索的视觉记忆
论文阅读·人工智能·学习·开源·github
坤坤子吖5 小时前
算法学习——高精度加减乘除
c++·笔记·学习·算法
HY小宝F5 小时前
树莓派智能摄像头系统 30 天重学计划之 Day 03 · 网络基础:建立“包“的思维 —— 学习总结
网络·学习