Swift 访问控制

关于类型访问控制关键字有 public ,open, internal、fileprivate、private。

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

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

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

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

相关推荐
黑化旺仔8 小时前
【OC】Runtime:类元数据、加载初始化与消息派发
开发语言·macos·ios·objective-c
songgeb8 小时前
iOS App支持设置RTL语言的实践
ios·swift·ui kit
软泡芙9 小时前
【iOS】swift启动屏显示黑屏
ios
用户693717500138410 小时前
当你向领导申请 AI 编程工具预算时,如果领导追问“能提效多少,有量化数据吗”,你该怎么回答?
android·后端·ios
Layer10 小时前
一些脱离 Mac 依赖的 Agent 操作 iPhone 实现
ios·ai编程·测试
用户693717500138412 小时前
当我说 Claude 搭配 GLM-5.3-Flash 太好用了,同事却提醒我:你可能正在失去对代码的掌控
android·后端·ios
茶底世界之下12 小时前
一键裁方会丢掉什么?用 Awaking 给园林照片做两种画幅
ios
Marco_Marco13514 小时前
定位SDK接入实战:Android/iOS/鸿蒙三端怎么选、怎么接
android·ios·harmonyos
老李IT笔记1 天前
关掉设备上的 AI 扩展:两个键各管一层,配错了等于没配
人工智能·ios·智能手机
2501_915921431 天前
iOS应用耗电测试:使用Energy Log、Keymob和Instruments进行性能监控与能源消耗分析
android·ios·小程序·https·uni-app·iphone·webview