類成員初始化
練習一:
訂單類Order
class Order (var orderId:String){
}
用戶類User
open class User(username: String, age: Int) {
//lateinit代表延遲初始化
lateinit var userId: String
//lateinit不能修飾基本數據類型,只能修飾對象
//lateinit var gender:Boolean
//由于order是val(相當于final)類型,因此需要用lazy(延遲初始化方式)
val order: Order by lazy {
//延遲初始化Order對象
Order("123456")
}
var username: String = username
//將set方法更改為受保護的
protected set
//重寫get方法
get() {
println("獲取:$field")
return field
}
var age: Int = age
//私有的set方法
private set
//重寫get方法
get() {
println("獲取:$field")
return field
}
}
測試類
fun main() {
val user = User("崔興旺",28)
println(user.username)
println(user.age)
println(user.order.orderId)
}
打印輸出
獲取:崔興旺
崔興旺
獲取:28
28
123456