Kotlin只有吸气器,私人二传手

Hyu*_*Kim 4 kotlin

我刚开始使用Kotlin,发现getter和setter非常有用.

我想知道Kotlin是否只提供吸气剂.

它不应该是val因为它的价值可以通过它的类来改变.

我为实现这一目标所做的工作如下.

private var _score: Int=0
val score: Int = _score
   get() = _score
Run Code Online (Sandbox Code Playgroud)

使用这种方式,我必须声明两个变量.

有没有更好的方法来公开吸气剂?

acd*_*ior 13

您可以定义访问者而无需定义其正文:

var score: Int = 0
    private set
Run Code Online (Sandbox Code Playgroud)

在这种情况下,setter是私有的.

来自文档:

如果您需要更改访问者的可见性或对其进行注释,但不需要更改默认实现,则可以在不定义访问者主体的情况下定义访问者:

var setterVisibility: String = "abc"
    private set // the setter is private and has the default implementation
Run Code Online (Sandbox Code Playgroud)