访问控制关键字open、public、internal、fileprivate、private的区别?

Swift中有5个级别的访问控制权限,从高到低依次是open、public、internal、fileprivate、private

它们遵循的基本规则:高级别的变量不允许被定义为低级别变量的成员变量,比如一个private的class内部允许包含public的String值,反之低级变量可以定义在高级别变量中;

●    open:具备最高访问权限,其修饰的类和方法,可以在任意模块中被访问和重写

●    public:权限仅次于open,和open唯一的区别是:不允许其他模块进行继承、重写

●    internal:默认权限,只允许在当前的模块中访问,可以继承和重写,不允许在其他模块中访问

●    fileprivate:修饰的对象只允许在当前的文件中访问

●    private:最低级别访问权限,只允许在定义的作用域内访问

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容