Kotlin và lập trình hướng đối tượng (phần 7)

Khởi tạo Invoice

Nói thì nói, làm thì không sớm thì muộn, chúng ta thêm một khối init{ } tương ứng:

class Invoice(val buyerFirstName:String,

val buyerLastName:String,
val date:String,
val goodName:String,
val amount:Int,
val pricePerItem:Double)

{

val buyerFullName:String
val totalPrice:Double
init {

buyerFullName = buyerFirstName + ” ” +

buyerLastName

totalPrice = amount * pricePerItem

}

}

Tiện thể, có một cách ngắn hơn viết những cái khởi tạo một dòng như vậy cho các đặc tính:


val buyerFullName:String = buyerFirstName + ” ” + buyerLastName
val totalPrice:Double = amount * pricePerItem

Cái này làm một khối init{ } là không cần thiết. Không có, tuy nhiên, sự khác nhau chức năng đối với sử dụng khối
init{ } và cái sau cho phép cho các tính toán phức tạp cái không khớp vào một phát biểu.

Chia sẻ