Properties and Encapsulation
Property Basics
Read values exposed as object properties.
property
A property is accessed with dot syntax, like `user.name`.
Property Basics
PropertyBasics.kt
Replay: real traced execution (multi-file project)
class User(val name: String, val level: Int)
fun main() {
val level = 2
val user = User("Mira", level)
val summary = user.name + ":" + user.level
println("level=$level")
println("summary=$summary")
}
class User(val name: String, val level: Int)
fun main() {
val level = 1
val user = User("Mira", level)
val summary = user.name + ":" + user.level
println("level=$level")
println("summary=$summary")
}
class User(val name: String, val level: Int)
fun main() {
val level = 4
val user = User("Mira", level)
val summary = user.name + ":" + user.level
println("level=$level")
println("summary=$summary")
}
level ← 2, summary ← Mira:2
3fun main() {4 val level→ 2 = 2 //@level=1, 45 val user = User("Mira", level2)6 val summary→ Mira:2 = user.nameMira + ":" + user.level278 println("level=$level2")9 println("summary=$summaryMira:2")10}outputlevel=2 summary=Mira:2
level ← 1, summary ← Mira:1
3fun main() {4 val level→ 1 = 15 val user = User("Mira", level1)6 val summary→ Mira:1 = user.nameMira + ":" + user.level178 println("level=$level1")9 println("summary=$summaryMira:1")10}outputlevel=1 summary=Mira:1
level ← 4, summary ← Mira:4
3fun main() {4 val level→ 4 = 45 val user = User("Mira", level4)6 val summary→ Mira:4 = user.nameMira + ":" + user.level478 println("level=$level4")9 println("summary=$summaryMira:4")10}outputlevel=4 summary=Mira:4