Swift 权限修饰关键字
private :
private修饰的属性或方法只能在当前类中使用;当调用不在当前类中,即使是当前类相关对象也不能使用private修饰的Class或Struct在除在自身内部使用;其它的都不被允许(包括类的继承和实例化),因此一般开发中不会用private修饰Class和Structprivate修饰的protocol,只允许在当前文件中遵循该protocol;其它的都是不被允许的(包括类型申明,函数或方法中的形参申明)
filePrivate:
filePrivate修饰的属性或方法,只能在当前文件中使用;当前文件内,可以跨类调用fileprivate修饰Class或Struct,Class在当前文件内可以实例化和继承使用,在当前文件之外的任何地方都不允许被使用fileprivate修饰的protocol,同private修饰protocol效果一致,都是只允许在当前文件中遵循,不允许类型申明使用,函数和方法的形参声明
internal:
Swift 默认权限修饰关键字,一般不用声明,只允许在当前module中使用,继承,重写
public:
public修饰的属性,Struct和protocol,允许跨module使用public修饰的Class,允许跨module使用,但是public修饰的Class是不允许跨module继承public修饰的方法,允许跨module使用;但是不允许跨module重写,即使是该方法的类是采用open修饰
open:
open修饰的属性,跟public一致,因为存储型属性不予许重写open不允许修饰protocol,Struct,Struct方法,是因为open修饰的,表示可重载open修饰方法,允许跨module调用和重写open修饰class,允许跨module使用和继承
Swift 权限修饰关键字
https://wonderhoi.com/2024/12/09/Swift-权限修饰关键字/