程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何从 Kotlin 的类内部处理 getter大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何从 Kotlin 的类内部处理 getter?

开发过程中遇到如何从 Kotlin 的类内部处理 getter的问题如何解决?下面主要结合日常开发的经验,给出你关于如何从 Kotlin 的类内部处理 getter的解决方法建议,希望对你解决如何从 Kotlin 的类内部处理 getter有所启发或帮助;

虑遵循 Kotlin 代码:

class Foo(input: int) {
    private var someFIEld: Int = input
        get() = -fIEld
        set(value) {
            fIEld = -value
        }

    fun bar() {
        println(someFIEld)
    }
}

fun main() {
    Foo(1).bar()
}

这会在控制台中打印 -1,这意味着内部方法 bar() someFIEld 引用了属性而不是相应的 getter。有没有一种方法可以让我使用 get() 方法,就好像我是从外部引用这个字段一样?

解决方法

也许您可以将“原始”值与负值分开跟踪?像这样:

class Foo(input: int) {
    private var _someField: Int = input
    var someField: Int
        get() = -_someField
        set(value) {
            _someField = -value
        }

    fun bar() {
        println(someField)
    }
}

现在类内部可以引用 _someField 来直接处理原始值,而外部客户端只能“看到”someField

大佬总结

以上是大佬教程为你收集整理的如何从 Kotlin 的类内部处理 getter全部内容,希望文章能够帮你解决如何从 Kotlin 的类内部处理 getter所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。