Swift中关键字`open`的含义及其与`public`的区别
大家好!我最近开始学习Swift,在处理访问修饰符时遇到了困惑。Apple文档中说`open`是最高访问级别,但我不完全理解它与`public`的区别。
我正在编写一个小型网络库。以下是我的类示例:
```swift
public class NetworkManager {
public func fetchData() {
print("Fetching data...")
}
}
```
一切正常,但我读到对于可能从其他模块继承的类,需要使用`open`。我尝试将`public`替换为`open`:
```swift
open class NetworkManager {
open func fetchData() {
print("Fetching data...")
}
}
```
行为上没有注意到差异。请告诉我:
1. `open`和`public`的实际区别是什么?
2. 什么时候应该使用`open`,什么时候`public`就足够了?
3. 既然已经有了`public`,为什么Apple还要引入关键字`open`?
感谢您的