11.7 Swift用final关键字来防止重写
/** 用final关键字来防止重写
final,最后的,最终的;决定性的;不可更改的 final 修饰类的话,表示这个类不可以被继承。 如果修饰属性或者方法,表示相应的属性或者方法不能被重写。 */
class Observer {
// final 加上 var storeProperty: Int = 0 { willSet { print("storeProperty father will Set") }
didSet { print("storeProperty father did Set") } }
// final // 不能给计算属性设定属性观察器 var computeProperty: Int { get { return 0 }
set { print("Do nothing!") } }
//final func dodododTest() -> Void { print("dadadadadaddadaad") } }
class ChildOfObserver: Observer {
// 可以重写父类中变量存储属性 override var storeProperty: Int { willSet { print("storeProperty will Set") }
didSet { print("storeProperty did Set") } }
// 可以重写父类中的计算属性的属性观察器 override var computeProperty: Int { willSet { print("computeProperty will Set") }
didSet { print("computeProperty did Set") } }
override func dodododTest() {
} }
let co = ChildOfObserver.init() co.storeProperty = 10 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |