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();

相关推荐
微露清风6 小时前
系统性学习Linux-第二讲-基础开发工具
linux·运维·学习
不会代码的小猴6 小时前
Linux环境编程第六天笔记--system-V IPC
linux·笔记
阳光九叶草LXGZXJ7 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
乌恩大侠7 小时前
【笔记】USRP 5G 和 6G 参考架构
笔记·5g
biuyyyxxx7 小时前
Python自动化办公学习笔记(一) 工具安装&教程
笔记·python·学习·自动化
灰灰勇闯IT8 小时前
Flutter for OpenHarmony:自定义 Paint 绘图 —— 释放 Canvas 的创造力
flutter
舟舟亢亢8 小时前
Java集合笔记总结
java·笔记
2601_949833398 小时前
flutter_for_openharmony口腔护理app实战+预约管理实现
android·javascript·flutter
丝斯20118 小时前
AI学习笔记整理(66)——多模态大模型MOE-LLAVA
人工智能·笔记·学习
军军君019 小时前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three