Kotlin定义的类要写get set方法吗?

1,001 阅读1分钟

当然不用! Kotlin中的属性并不需要显示的写出get和set方法,可以使用属性访问器(accessor)来控制对属性的读写,这种写法更加简洁。 例如:

class Person {
    var name: String = ""
        get() = field.toUpperCase()
        set(value) {
            field = value.trim()
        }
}

在这个示例中,Person类中的name属性已经定义,不需要再写出get和set方法。get()方法的实现将name的值转换为大写形式,并返回。set(value)方法的实现将传入的value去掉前后空格,并将结果赋值给name属性。

在使用时,可以像访问属性一样使用get和set方法:

val person = Person()
person.name = "   john   "
println(person.name) // 输出 "JOHN"