继承(Inheritance)

2019-07-16  本文已影响0人  曹来东

重写类型方法 和 下标

重写属性

重写类型属性

属性观察器


class Circle {
    var radius: Int {
        set {
            print("Circle setRadius",newValue)
        }
        get {
            print("Circle getRadius")
            return 20
        }
    }
}
class SubCircle: Circle {
    override var radius: Int {
        willSet {
            print("SubCircle willSetRadius",newValue)
        }
        didSet {
            print("SubCircle didSetRadius",oldValue,radius)

        }
    }
}
var circle = SubCircle()
circle.radius = 10
//打印结果
Circle getRadius
SubCircle willSetRadius 10
Circle setRadius 10
Circle getRadius
SubCircle didSetRadius 20 20

final

上一篇 下一篇

猜你喜欢

热点阅读