编辑代码

//20190401031杨小可
//重载练习
class Vehicle {
    var use: String = "No use"
    var speed: Int = 0
    var producer: String = "No producer"
    var usedYear: Int = 0
    var basicInfo: String {
        return "use:\(use),speed:\(speed),producer:\(producer)"
    }
    func description(){
        print("Vehicle's description is:")
        print(basicInfo)
    }
}

let train = Vehicle()
train.use = "Common"
train.speed = 60
train.producer = "CRRC"
train.usedYear = 3
train.description()

class Car: Vehicle {
    var owner: String = "No owner"
    var license: String = "No license"
    func propertyTransfer(newOwner: String){
        owner = newOwner
        print("The new owner is \(owner)")
    }
    override func description() {
        print("Car's description is:")
        print("use:\(use),speed:\(speed),producer:\(producer),usedYear:\(usedYear),owner:\(owner),license:\(license)")
    }
    override var basicInfo: String {
        return super.basicInfo + " owner:\(owner),license:\(license)"
    }
    override var usedYear: Int {
        didSet {
            print("Used Year was changed from \(oldValue) to \(usedYear)")
        }
        willSet {
            print("Used Year will be changed to \(newValue)")
        }
    }
}
let myCar = Car()
myCar.owner = "Tommy"
myCar.license = "BJ0515G"
myCar.use = "Personal"
myCar.speed = 120
myCar.producer = "Tesla"
myCar.usedYear = 6
myCar.description()
myCar.basicInfo
myCar.usedYear = 7