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

相关推荐
重生之我在番茄自学网安拯救世界2 小时前
网络安全中级阶段学习笔记(十二):PHP 文件包含漏洞全解析(原理 + 利用 + 防御 )
笔记·学习·web安全·文件包含漏洞·网安基础
Fate_I_C2 小时前
Flutter鸿蒙0-1开发-工具环境篇
flutter·华为·harmonyos·鸿蒙
2501_915921432 小时前
Flutter App 到底该怎么测试?如何在 iOS 上进行测试
android·flutter·ios·小程序·uni-app·cocoa·iphone
HAREWORK_FFF2 小时前
北京一隅:我的CAIE认证报考与学习手记
学习
鲨莎分不晴2 小时前
独立学习 (IQL):大道至简还是掩耳盗铃
人工智能·深度学习·学习
常利兵2 小时前
Kotlin Flow 从入门到实战:异步数据流处理的终极解决方案
android·kotlin
二流小码农2 小时前
鸿蒙开发:一个底部的曲线导航
android·ios·harmonyos
鲨莎分不晴2 小时前
从 10 到 1000:大规模多智能体的可扩展性 (Mean Field & GNN)
人工智能·学习
Kapaseker2 小时前
数据传参明妙理 临危受命逢转机
android·kotlin