Swift 访问控制

关于类型访问控制关键字有 public ,open, internalfileprivateprivate

  • 默认情况下是internal,允许实体被定义模块中的任何源文件访问,但不能被该模块之外的任何源文件访问,通常定义在应用程序或框架的内部结构时使用
  • fileprivate 访问将实体的使用限制于当前定义源文件中,当一些细节在整个文件中使用时,使用fileprivate访问隐藏特性功能的实现细节。使用fileprivate 修饰方法 是可以被重写的。但是类不可以被继承!
  • private 将实体的使用限制于封闭声明中,当一些细节仅在单独声明中使用,使用private访问细节特性功能的实现细节。使用private修饰的方法,子类不可以重写,但是子类的方法名与父类的方法名相同是不会报错的
  • open访问是最高访问级别,private是最低级别

publicopen都是访问控制级别,用来控制别人能不能访问你的代码。

  • public :别人可以使用你的类或方法,但不能继承或重写
  • open:别人可以使用你的类或方法,也可以继承和重写

一句话总结:open = public + 允许继承和重写。

相关推荐
zqmattack1 小时前
Nginx 的配置文件
ios
李新_13 小时前
我们使用了哪些Flutter 三方库(二)
android·flutter·ios
Jouzzy13 小时前
【iOS安全】使用LLDB调试iOS App | LLDB基本架构 | LLDB安装和配置
安全·ios·架构
二流小码农14 小时前
鸿蒙开发:hvigorw,编译构建,实现命令打包
android·ios·harmonyos
我的蒲公英17 小时前
2025年了,别再用微信群发APK了:内测分发的正确打开方式
android·安全·ios
hbysjw18 小时前
ios tableview吸顶
ios·objective-c
二流小码农2 天前
鸿蒙开发:hvigorw,一个你不得不去了解的神器
android·ios·harmonyos
吴Wu涛涛涛涛涛Tao2 天前
老项目登录模块的 Combine + MVVM响应式改造实践
ios
一丝晨光2 天前
Windows搭建Swift语言编译环境?如何构建ObjC语言编译环境?Swift如何引入ObjC框架?Interface Builder的历史?
linux·windows·macos·ios·objective-c·xcode·swift