private、fileprivate、public、open修饰符的作用和区别
2017-11-29 17:26
513 查看
1、private 修饰符
只允许在当前类中调用,不包括 Extensionprivate 现在变为了真正的私有访问控制
用 private 修饰的方法不可以被代码域之外的地方访问
2、fileprivate 修饰符
fileprivate 其实就是过去的 private。其修饰的属性或者方法只能在当前的 Swift 源文件里可以访问。
即在同一个文件中,所有的 fileprivate 方法属性都是可以访问到的。
class A { fileprivate func test(){ print("this is fileprivate func!") } } class B:A { func show(){ test() } }
3、public 修饰符
修饰的属性或者方法可以在其他作用域被访问但不能在重载 override 中被访问
也不能在继承方法中的 Extension 中被访问
4、open 修饰符
open 其实就是过去的 public,过去 public 有两个作用:修饰的属性或者方法可以在其他作用域被访问
修饰的属性或者方法可以在其他作用域被继承或重载 override
5、internal修饰符
顾名思义,internal是内部的意思,即有着internal访问权限的属性和方法说明在模块内部可以访问,超出模块内部就不可被访问了。在Swift中默认就是internal的访问权限。从高到低排序如下:
open > public > interal > fileprivate > private
相关文章推荐
- swift 中关于open ,public ,fileprivate,private ,internal,修饰的说明
- swift中修饰词,fileprivate、private、internal、public 、open 及lazy的使用
- Swift-Private/FilePrivate/Public/Open的作用和区别
- c# 修饰词public, protected, private,internal,protected的区别
- java作用域public ,private ,protected 及不写时的区别
- 【JAVA基础小问题】作用域public,private,protected,以及不写时的区别
- Java修饰符public,private,protected及默认的区别
- public private default protected修饰符或者作用域的区别
- java作用域public ,private ,protected 及不写时的区别
- 作用域public,private,protected,以及不写时的区别
- java作用域public ,private ,protected 及不写时的区别
- c# 修饰词public, protected, private,internal,protected的区别
- java作用域public ,private ,protected 及不写时的区别
- Java修饰符private,default,protected,public 区别的再辨识
- Java作用域public,private,protected,以及不写时的区别
- 第2章 Java编程基础——FAQ2.03 用public. protected和private修饰方法有什么区别?
- java作用域public ,private ,protected 及不写时的区别
- Java修饰符public,private,protected及默认的区别
- java作用域public ,private ,protected 及不写时的区别
- 作用域public,private,protected,以及不写时的区别