Swift 5.x 类的定义

2020-07-05  本文已影响0人  ShenYj
1.定义基类
class Vehicle {
    var currentSpeed = 0.0
    var description: String {
        "traveling at \(currentSpeed) miles per hour"
    }
    
    func makeNoise() -> Void {
        
    }
}
2.定义子类
class Bicycle: Vehicle {
    var hasBasket = false
}
3. 重写
class Vehicle {
    var currentSpeed = 0.0
    var description: String {
        "traveling at \(currentSpeed) miles per hour"
    }
    
    func makeNoise() -> Void {
        
    }
}

class Bicycle: Vehicle {
    var hasBasket = false
    
    override func makeNoise() {
        
    }
}
4. 访问父类的方法、属性和下标脚本
class Car: Vehicle {
    var gear = 1
    override var description: String {
        super.description + " in gear \(gear)"
    }
}

5. 重写属性的观察器
class AutomaticCar: Car {
    override var currentSpeed: Double {
        didSet {
            gear = Int(currentSpeed / 10.0) + 1
        }
    }
}

let automatic = AutomaticCar()
automatic.currentSpeed = 35.0
print("AaautomaticCar: \(automatic.description)")
上一篇 下一篇

猜你喜欢

热点阅读