alt*_*ser 3 modifiers swift swift3
我已经阅读了有关新修饰符“open”和“fileprivate”的文档。但有两件事我不明白:
正如这个答案所说:
我认为你的第一个问题的答案是你不能覆盖或子类协议或扩展。因此,这些东西是没有用的,open因为public它们已经可以在模块外部访问了。
对于你的第二个问题,我想说你应该只声明你自己的类,就像open你计划覆盖或子类化一样。否则,您将允许对这些项目进行不必要的访问。大多数时候public应该适合您的需要。
编辑:
正如@Alex 指出的那样,我认为允许这种“额外访问”没有太多缺点。我唯一能想到的是,如果你只是想保护你的班级免受未来的自己的影响,但这可能适用也可能不适用。因此,如果情况并非如此,将它们设置为open默认值应该不会有太大危害。
| 归档时间: |
|
| 查看次数: |
3487 次 |
| 最近记录: |