Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 实例化类和调用可调用类函数之间的区别_Dart - Fatal编程技术网

Dart 实例化类和调用可调用类函数之间的区别

Dart 实例化类和调用可调用类函数之间的区别,dart,Dart,Dart文档指出,当从类实例化对象时,“new”操作符是可选的。 它还说,通过在类中定义Call()函数,可以将类定义为可调用函数 上课 Class MyClass 我在该类中定义了构造函数和Call()函数(这两个函数都没有定义为接受任何参数) somevar的值是多少 dynamic somevar = MyClass(); 它是MyClass的一个实例还是Call()函数的返回值?调用它们的是“可调用类”,但这用词不当。它们是可调用的对象 通常,call()是类实例上的方法,而不是类本

Dart文档指出,当从类实例化对象时,“new”操作符是可选的。 它还说,通过在类中定义Call()函数,可以将类定义为可调用函数

上课

Class MyClass
我在该类中定义了构造函数和Call()函数(这两个函数都没有定义为接受任何参数)

somevar的值是多少

dynamic somevar = MyClass();
它是MyClass的一个实例还是Call()函数的返回值?

调用它们的是“可调用类”,但这用词不当。它们是可调用的对象

通常,
call()
是类实例上的方法,而不是类本身上的方法
MyClass()
将始终调用
MyClass
的未命名构造函数

更具体地说:

class-MyClass{
无效调用(){
打印(“你好,世界!”);
}
}
void main(){
var object=MyClass();//调用(隐式)未命名的MyClass构造函数。
object();//调用call()方法。
}

检查此
https://stackoverflow.com/questions/1053592/what-is-the-difference-between-class-and-instance-methods#:~:text=像%20其他%20答案%20有,实例%20在%20中作为%20a%20参数)。
没有,我看不出这有什么关系。我的问题是不理解可调用类和构造函数之间的区别。我的问题是,在我看来,类的实例化和可调用类的调用似乎具有完全相同的语法。