Swift4.0 访问权限
Swift 4.0访问权限关键字
目前有 open public internal fileprivate private 这五个访问权限,都可以修饰属性和方法。下面通过例子来分析五个访问权限的使用。
不同点分析:
- 是否可以被子类继承访问
- 同文件不同类下是否可以访问
- 不同文件是否可以被访问
- 不同组件下是否可以被访问
1、private
被private修饰的属性和方法 ,只可以在该类下使用(extension可使用,因为是同类。)
例如:下面图片,即使在同文件下不同类也是不能调用的,继承的话子类也不能调用。
2、fileprivate
fileprivate和private 想比较一下,区别一目了然,相同文件下是可以调用的,其他和private一样。
3、internal
默认权限,如果项目没有进行组件化开发,整个APP项目内都是可以访问的。
4、public
可以被任何人访问,但是在其他module中不可以被继承和重写,在当前module内可以。