Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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新手,对这个概念不太熟悉。请耐心等待 我正在读一些代码,突然发现了这个。(第14行) 查看赋值的后半部分,我可以看到一个接受整数的私有函数,但经过一些搜索后,我在类中看不到定义 我的问题是,这个神秘的函数是什么?我假设这是语言的一个特点,但我很难找到它,因为我从来没有听说过这个概念 它调用构造函数 Motility._(this._bitMask); 自从new成为可选的以来,它就不再那么明显了,但是拥有私有构造函数是一种常见的模式。(以开头的标识符在Dart中是专用的) mot

我是dart新手,对这个概念不太熟悉。请耐心等待

我正在读一些代码,突然发现了这个。(第14行)

查看赋值的后半部分,我可以看到一个接受整数的私有函数,但经过一些搜索后,我在类中看不到定义


我的问题是,这个神秘的函数是什么?我假设这是语言的一个特点,但我很难找到它,因为我从来没有听说过这个概念

它调用构造函数

Motility._(this._bitMask);

自从
new
成为可选的以来,它就不再那么明显了,但是拥有私有构造函数是一种常见的模式。(以
开头的标识符在Dart中是专用的)

motivity
基本上是以这种方式构建的枚举,而不是

enum Motility { none, door, fly, swim, walk, doorAndFly, doorAndWalk, flyAndWalk }

因为这样可以指定自定义值。

噢!所以,
int\u bitmask=0
是类的私有字段,默认值为0,对吗?如果这是真的,那么构造函数只是简单地为该字段分配一个值。是的,
静态最终…
将分别保存一个单例
运动性
实例(每个唯一
\u位掩码
值的单例),其中
\u位掩码
字段初始化为
1
2
4
8
, .... 因此,如果你的应用程序使用
motivity.fly
在你的应用程序中飞行两次,两者都会指向完全相同的
motivity
实例(使用
\u bitMask
2
),这是否意味着motivity本身就有实例?是的,看起来这让我一时心碎。在考虑到它们是静态的这一事实之后,这就更有意义了!
enum Motility { none, door, fly, swim, walk, doorAndFly, doorAndWalk, flyAndWalk }