我是镖新手,对此概念我并不熟悉。感谢您的耐心等候。
遇到此问题时,我正在阅读一些代码here。 (第14行)
static final none = Motility._(0);
看一下分配的后半部分,我可以看到一个私有函数,它带有一个整数,但是经过一番搜索,我在类中没有看到定义。
那么,我的问题是这个神秘的功能是什么?我以为这是该语言的一种功能,但是由于从未听说过该概念,因此很难查找它!
答案 0 :(得分:3)
它调用构造函数
Motility._(this._bitMask);
https://github.com/munificent/hauberk/blob/master/lib/src/engine/stage/tile.dart#L28
自new
成为可选选项以来,这种情况不再明显,但是拥有私有构造函数是一种常见的模式。 (以_
开头的标识符在Dart中是私有的)
Motility
基本上是以此方式而非
enum Motility { none, door, fly, swim, walk, doorAndFly, doorAndWalk, flyAndWalk }
因为这样可以分配自定义值。