kotlin中的get和set方法的使用示例代码
时间: 2024-10-19 13:08:04 浏览: 38
Kotlin语言中的类和对象简要介绍,包括简单示例
在Kotlin中,get和set方法通常用于数据类(Data Class)或者属性(Properties)的访问控制,特别是当属性需要进行验证、计算或者其他逻辑处理时。它们分别对应于getter(获取值)和setter(设置值)。下面是一个简单的例子:
```kotlin
data class Person(val name: String, var age: Int) {
// 使用 getter 和 setter 访问和修改属性
open fun getName(): String { return name }
open var age by property(String::class, intArrayOf(0, Int.MAX_VALUE)) { value ->
if (value < 0 || value > Int.MAX_VALUE) throw IllegalArgumentException("Age must be between 0 and ${Int.MAX_VALUE}")
value
}
}
// 示例:
val person = Person("Alice", 25)
println(person.getName()) // 输出 "Alice"
person.age = 30
println(person.age) // 输出 30
// 如果尝试设置无效年龄,会抛出异常
try {
person.age = -1
} catch (e: IllegalArgumentException) {
println(e.message) // 输出 "Age must be between 0 and 2147483647"
}
```
在这个例子中,`getName`是公开的getter,可以直接访问;而`age`是一个开放的(open)可变属性,它使用了`property`函数来装饰,其中包含了一个自定义的setter,检查传入的值是否合法。
阅读全文