Data Classes and Sealed Types
Data Class Basics
Store a few related values in a compact data class.
data-class
A data class creates useful value-focused behavior for simple records.
Data Class Basics
DataClassBasics.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 label = "${ticket.code}:${ticket.priority}"
println("priority=$priority")
println("label=$label")
}
data class Ticket(val code: String, val priority: Int)
fun main() {
val priority = 1
val ticket = Ticket("A", priority)
val label = "${ticket.code}:${ticket.priority}"
println("priority=$priority")
println("label=$label")
}
data class Ticket(val code: String, val priority: Int)
fun main() {
val priority = 5
val ticket = Ticket("A", priority)
val label = "${ticket.code}:${ticket.priority}"
println("priority=$priority")
println("label=$label")
}
priority ← 2, label ← A:2
3fun main() {4 val priority→ 2 = 2 //@priority=1, 55 val ticket = Ticket("A", priority2)6 val label→ A:2 = "${ticket.codeA}:${ticket.priority2}"78 println("priority=$priority2")9 println("label=$labelA:2")10}outputpriority=2 label=A:2
priority ← 1, label ← A:1
3fun main() {4 val priority→ 1 = 15 val ticket = Ticket("A", priority1)6 val label→ A:1 = "${ticket.codeA}:${ticket.priority1}"78 println("priority=$priority1")9 println("label=$labelA:1")10}outputpriority=1 label=A:1
priority ← 5, label ← A:5
3fun main() {4 val priority→ 5 = 55 val ticket = Ticket("A", priority5)6 val label→ A:5 = "${ticket.codeA}:${ticket.priority5}"78 println("priority=$priority5")9 println("label=$labelA:5")10}outputpriority=5 label=A:5