Swift之关键字使用(I)

Private、FilePrivate、Public、open

四大属性的使用范围图:

private 修饰符

  • 只允许在当前类中调用,不包括 Extension 
  • private 现在变为了真正的私有访问控制 
  • 用 private 修饰的方法不可以被代码域之外的地方访问

fileprivate 修饰符

  • fileprivate 其实就是过去的 private。 
  • 其修饰的属性或者方法只能在当前的 Swift 源文件里可以访问。 
  • 即在同一个文件中,所有的 fileprivate 方法属性都是可以访问到的。
 1 class A {
 2     fileprivate func test(){
 3         print("this is fileprivate func!")
 4     }
 5 }
 6 
 7 class B:A {
 8     func show(){
 9         test()
10     }
11 }

public 修饰符

  • 修饰的属性或者方法可以在其他作用域被访问  
  • 但不能在重载 override 中被访问  
  • 也不能在继承方法中的 Extension 中被访问

open 修饰符

  open 其实就是过去的 public,过去 public 有两个作用:

  • 修饰的属性或者方法可以在其他作用域被访问  
  • 修饰的属性或者方法可以在其他作用域被继承或重载 override

猜你喜欢

转载自www.cnblogs.com/EchoHG/p/9095216.html