Swift用final关键字来防止重写

时间:2021-05-02

final关键字在大多数的编程语言中都存在,表示不允许对其修饰的内容进行继承或者重新操作。Swift中,final关键字可以在class、func和var前修饰。

通常大家都认为使用final可以更好地对代码进行版本控制,发挥更佳的性能,同时使代码更安全。下面通过实例代码给大家介绍swift用final关键字来防止重写。

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 /** 用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用final关键字来防止重写,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.csdn.net/sinat_20037505/article/details/53781836

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章