欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

iOS中的public 、private、protected

程序员文章站 2022-06-01 11:55:16
...

####实例变量修饰符作用域:从出现的位置开始,一直直到下一个修饰符出现
####如果没有遇到下一个实例变量修饰符,那么就会修饰后面所有的实例变量

@interface A : NSObject{
    @public
    int a;
    int b;
    
    @private
    int c;
    
    @protected
    int d;
    int e;
}
@end

@implementation A
{
    int f;
}
@end

public

  • 可以在本类中访问被public修饰的成员变量
  • 可以在其它类中访问被public修饰的成员变量
  • 可以在子类中访问父类中被public修饰的成员变量

private

  • 可以在本类中访问被private修饰成员变量
  • 不可以在其它类中访问被private修饰的成员变量
  • 不可以在子类中访问父类中被private修饰的成员变量

protected

  • 可以在本类中访问被protected修饰符的成员变量
  • 不可以在其它类中访问被protected修饰的成员变量
  • 可以在子类中访问父类中被protected修饰的成员变量
    注意:默认情况下所有的实例变量都是protected

package

  • 介于public 和 private 之间的
  • 如果是在其它包中访问那么就是private的
  • 如果是在前代码所在的访问就是public的

@implementation

  • 一般定义在@implementation的成员变量,默认就是私有成员变量
  • 并且和利用@private修饰不一样,在@implementation中定义的成员变量在其他类中无法查看,也无法访问
  • 在@implementation中定义的私有变量只能在本类中访问

iOS中的public 、private、protected

iOS中的public 、private、protected

iOS中的public 、private、protected