Chapter 5 - Section 6
	
	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
		println("Item price = ${item2.price}")
		val person = Person("Joe", "Smith")
		println("That person is ${person.fullName}")
	}
	data class ClothingItem(private var _type: String?,
							val size: String,
							private var _price: Double) {
	//    init {
	//        _type = _type?.toUpperCase() ?: "UNKNOWN"
	//    }
		var type: String? = _type
			get() = field ?: "Unknown"
		var price = _price
			set(value) {
				field = value * .9
			}
		constructor(size: String, price: Double) : this(null, size, price)
	}
	data class Person(private val firstName: String,
					  private val lastName: String) {
		val fullName:String
			get() = "$firstName $lastName"
	}