Chapter 5 - Section 8
import model.ClothingItem
import model.Person
import java.text.NumberFormat
import java.util.*
fun main(args: Array<String>) {
val item = ClothingItem("Shirt", "L", 19.99)
println(item)
item.price = 15.99
println(item)
val item2 = ClothingItem("M", 14.99)
println(item2)
println("Item type = ${item2.type}")
item2.price = 10.0
val f = "%.2f"
println("Item price = $${f.format(item2.price)}")
Locale.setDefault(Locale.FRANCE)
val formatter = NumberFormat.getCurrencyInstance()
println("Item price = ${formatter.format(item2.price)}")
val person = Person("Joe", "Smith")
println("That person is ${person.fullName}")
}
package model
data class ClothingItem(private var _type: String?,
val size: String,
private var _price: Double) {
var type: String? = _type
get() = field ?: "Unknown"
var price = _price
set(value) {
field = value * .9
}
constructor(size: String, price: Double) : this(null, size, price)
}
package model
data class Person(private val firstName: String,
private val lastName: String) {
val fullName:String
get() = "$firstName $lastName"
}