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 小时前
Flutter开源鸿蒙跨平台训练营 Day 10特惠推荐数据的获取与渲染
flutter·开源·harmonyos
工程师老罗3 小时前
如何在Android工程中配置NDK版本
android
执笔论英雄4 小时前
【大模型学习cuda】入们第一个例子-向量和
学习
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
ouliten5 小时前
cuda编程笔记(36)-- 应用Tensor Core加速矩阵乘法
笔记·cuda
renke33645 小时前
Flutter for OpenHarmony:色彩捕手——基于HSL色轮与感知色差的交互式色觉训练系统
flutter
孞㐑¥5 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
Libraeking6 小时前
破壁行动:在旧项目中丝滑嵌入 Compose(混合开发实战)
android·经验分享·android jetpack
Gary Studio7 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice7 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习