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