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

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...