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