class SmartDevice(val name: String, val category: String) {
var deviceStatus = "online"
constructor(name: String, category: String, statusCode: Int) : this(name, category) {
deviceStatus = when (statusCode) {
0 -> "offline"
1 -> "online"
else -> "unknown"
}
}
...
}
有人可以向我解释一下这个程序在 kotlin 中的执行流程吗??
当主构造函数被调用时:
name
和category
属性的支持字段使用传递给构造函数的参数进行初始化。deviceStatus
属性的支持字段用"online"
初始化。调用辅助构造函数时:
name
和 category
参数传递给第二个构造函数。所以上述所有步骤都会发生。deviceStatus
属性的 setter 并传递when语句表达式的结果。