Classes and Objects
Data Holder
Use a data class while printing only its fields.
data
A data class is useful for holding related values, but output can stay field based.
Data Holder
DataHolder.kt
Replay: real traced execution (multi-file project)
data class Ticket(val code: String, val priority: Int)
fun main() {
val priority = 2
val ticket = Ticket("A", priority)
val summary = ticket.code + ":" + ticket.priority
println("priority=$priority")
println("summary=$summary")
}
data class Ticket(val code: String, val priority: Int)
fun main() {
val priority = 1
val ticket = Ticket("A", priority)
val summary = ticket.code + ":" + ticket.priority
println("priority=$priority")
println("summary=$summary")
}
data class Ticket(val code: String, val priority: Int)
fun main() {
val priority = 5
val ticket = Ticket("A", priority)
val summary = ticket.code + ":" + ticket.priority
println("priority=$priority")
println("summary=$summary")
}
priority ← 2, summary ← A:2
3fun main() {4 val priority→ 2 = 2 //@priority=1, 55 val ticket = Ticket("A", priority2)6 val summary→ A:2 = ticket.codeA + ":" + ticket.priority278 println("priority=$priority2")9 println("summary=$summaryA:2")10}outputpriority=2 summary=A:2
priority ← 1, summary ← A:1
3fun main() {4 val priority→ 1 = 15 val ticket = Ticket("A", priority1)6 val summary→ A:1 = ticket.codeA + ":" + ticket.priority178 println("priority=$priority1")9 println("summary=$summaryA:1")10}outputpriority=1 summary=A:1
priority ← 5, summary ← A:5
3fun main() {4 val priority→ 5 = 55 val ticket = Ticket("A", priority5)6 val summary→ A:5 = ticket.codeA + ":" + ticket.priority578 println("priority=$priority5")9 println("summary=$summaryA:5")10}outputpriority=5 summary=A:5