swift3学习笔记:final

2017-02-14  本文已影响15人  肉身佛陀

final

Swift中,final关键字可以在class、func和var前修饰。
类或者方法的功能确实已经完备了,或避免子类继承和修改造成危险,或为了让父类中某些代码一定会执行。
也就是说这个类或方法不希望被继承和重写。

使用final修饰的类或属性或方法无论是在同一个module中还是在其他module中都不能被继承或者修改(override)。

//MARK: - ViewController:
//这个类在ViewController:的范围内不能被继承,只能能被访问;
//在ViewController:的范围外不能被继承,只能能被访问
final class NonSubclassAnyParentClass{}

//出错,在ViewController:范围不能被继承
class NonSubclassAny: NonSubclassAnyParentClass {}

//MARK: - LoginViewController
//出错,在ViewController:范围外不能被继承
class NonSubclassAny: NonSubclassAnyParentClass {}

用来记录平时遇到的问题,不对之处还望指教。

上一篇 下一篇

猜你喜欢

热点阅读