📜  斯卡拉 |控制构造函数字段的可见性

📅  最后修改于: 2022-05-13 01:55:38.872000             🧑  作者: Mango

斯卡拉 |控制构造函数字段的可见性

Scala 语言中Constructor Fields的可见性是通过声明的方式来维护和控制的。这些可以用以下形式声明:

  • 声明为val
  • 声明为var
  • 不带varval声明
  • 私有添加到字段。

现在,我们将通过一些示例的更多细节和帮助来了解上述所有方法:

当字段声明为var

如果该字段被声明为 var,那么 Scala 语言会自动为该特定字段生成GetterSetter模式。这意味着该字段的值始终可以更改。
示例 1:

当字段声明为val

如果该字段被声明为 val,则在开始时分配的字段的值不能更改并永久保持设置。在这种情况下,Scala 只允许使用 getter 方法。
示例 2:

当字段声明时没有valvar

如果该字段声明时没有 var 和 val,则该字段的可见性非常有限,并且 Scala 不允许 setter 和 getter 方法。字段的可见性受到限制。
示例 3:

添加关键字私有

除了varval模式,我们还可以提及关键字“private”。这使得字段可访问性与我们在 C++ 中所做的方式相同。这将停止 getter 和 setter 方法,并且通常使用类的成员函数访问该字段。

示例 4:

因此,上面讨论的情况是 Scala 构造函数类中可能存在的不同类型的可见性模式。