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.
