11.7 Swift用final关键字来防止重写

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Swift相关文章