kotlin get() 与 set()

class Person {

var name: String = "John Doe"

get() {

println("Getting the name: $field")

return field

}

set(value) {

println("Setting the name to: $value")

field = value

}

复制代码
var age: Int = 0
    get() {
        println("Getting the age: $field")
        return field
    }
    set(value) {
        if (value >= 0) {
            println("Setting the age to: $value")
            field = value
        } else {
            println("Age cannot be negative")
        }
    }

}

fun main() {

val person = Person()

复制代码
person.name = "Alice"
println(person.name)

person.age = 25
println(person.age)

person.age = -5

}

相关推荐
小江的记录本2 分钟前
【Swagger】Swagger系统性知识体系全方位结构化总结
java·前端·后端·python·mysql·spring·docker
空太Jun3 分钟前
Spring Security 自定义数据库认证(初尝试)
java·数据库·spring
sinat_2554878110 分钟前
泛型·学习笔记
java·jvm·数据库·windows·python
QuZero14 分钟前
Java Synchronized principle
java·开发语言
明灯伴古佛18 分钟前
面试:Java中乐观锁的实现原理是什么
java·面试·职场和发展
SimonKing23 分钟前
白嫖党狂喜!魔塔社区每天2000次免费大模型调用,真香!
java·后端·程序员
默 语39 分钟前
OpenClaw“养龙虾“热潮降温的深层解析:从技术狂欢到理性回归
android·开发语言·kotlin
lifallen39 分钟前
Flink Agent 与 Checkpoint:主循环闭环与 Mailbox 事件驱动模型
java·大数据·人工智能·python·语言模型·flink
小则又沐风a1 小时前
类和对象----最终篇
java·前端·数据库
喵叔哟1 小时前
4.【.NET10 实战--孢子记账--产品智能化】--C# 14 新语法特性详解与实战应用
java·c#·.net