湖南省交通建设质安监督局网站,东莞建站网站建设产品推广,有名的网站制作电话,昆明网站建设网站在 Kotlin 中#xff0c;如果想实现一个类的属性可以从外部读取但不能修改#xff0c;可以使用自定义的 getter 和 private setter。以下是一个示例代码#xff1a;
class MyClass {var myProperty: Stringprivate set // 使 setter 私有化#xff0c;外部无法修改get // …在 Kotlin 中如果想实现一个类的属性可以从外部读取但不能修改可以使用自定义的 getter 和 private setter。以下是一个示例代码
class MyClass {var myProperty: Stringprivate set // 使 setter 私有化外部无法修改get // 默认 getterconstructor(initialValue: String) {myProperty initialValue}
}fun main() {val myObject MyClass(Initial Value)println(myObject.myProperty) // 可以读取属性a// myObject.myProperty New Value // 这行代码将会导致编译错误因为 setter 是私有的
}在这个示例中myProperty 的 getter 是公共的因此可以从类的外部读取该属性。但是setter 是私有的因此无法从外部修改该属性。
如果需要进一步自定义 getter 或 setter也可以这样做
class MyClass {var myProperty: Stringprivate set(value) {field value // 自定义 setter}get() field // 自定义 getterconstructor(initialValue: String) {myProperty initialValue}
}fun main() {val myObject MyClass(Initial Value)println(myObject.myProperty) // 可以读取属性// myObject.myProperty New Value // 这行代码将会导致编译错误因为 setter 是私有的
}