此构造函数的语法有什么好处?

时间:2019-09-03 15:27:44

标签: flutter dart constructor

dart + flutter中的不同构造函数。

在遵循page之后,我不确定我是否了解构造函数的全部内容

似乎拥有此语法的唯一好处就是语法糖:

class Foo {
  bool something;

  Foo(this.something);
}

结束:

class Foo {
  bool something;

  Foo(bool something): this.something = something;
}

甚至大括号:

class Foo {
   bool something;

   Foo(bool something) { 
      this.something = something;
   };
}

除非您要使用 final ,否则您将选择第一个或第二个选项。

这些只是同一事物在语法上不同的实现还是它们带来了价值。

当前我使用

默认为

第一个(最后几个字段)

第二个用于空合并(或一些小检查)

第3 个用于基于“发布后”内容启动服务

似乎我可以使用 3rd 选项替换其他选项而没有任何后果(除非对于final字段+ const构造函数)。 它是否正确? (也许其中之一实际上是更快的,因为编译成asm时指令减少了)

避免构造函数体(或相反)有什么好处吗?

0 个答案:

没有答案