swift3学习笔记:final
2017-02-14 本文已影响15人
肉身佛陀
final
Swift中,final关键字可以在class、func和var前修饰。
类或者方法的功能确实已经完备了,或避免子类继承和修改造成危险,或为了让父类中某些代码一定会执行。
也就是说这个类或方法不希望被继承和重写。
- 用final关键字来防止重写
- final,最后的,最终的;决定性的;不可更改的
- final 修饰类的话,表示这个类不可以被继承。
- 如果修饰属性或者方法,表示相应的属性或者方法不能被重写。
使用final修饰的类或属性或方法无论是在同一个module中还是在其他module中都不能被继承或者修改(override)。
//MARK: - ViewController:
//这个类在ViewController:的范围内不能被继承,只能能被访问;
//在ViewController:的范围外不能被继承,只能能被访问
final class NonSubclassAnyParentClass{}
//出错,在ViewController:范围不能被继承
class NonSubclassAny: NonSubclassAnyParentClass {}
//MARK: - LoginViewController
//出错,在ViewController:范围外不能被继承
class NonSubclassAny: NonSubclassAnyParentClass {}
用来记录平时遇到的问题,不对之处还望指教。