Home Articles

Kotlin只有吸气器,私人二手[重复]

Asked
Viewed 478 times
2

这个问题在这里已有答案:

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

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

它应该不是 val 因为它是's value can be changed by it'的类 .

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

private var _score: Int=0
val score: Int = _score
   get() = _score

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

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

2 Answers

  • 9

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

    var score: Int = 0
        private set
    

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

    来自the docs

    如果需要更改访问者的可见性或对其进行注释,但不需要更改默认实现,则可以定义访问者而不定义其主体:var setterVisibility:String =“abc”
    private set // setter是私有的,具有默认实现

  • 1

    您可以使用以下语法:

    var setterVisibility: String = "abc" // Initializer required, not a nullable type
        private set // the setter is private and has the default implementation
    

    请参考官方here

    这也是this question的倍增

Related