iOS中的public 、private、protected

本文详细介绍了Objective-C中实例变量的修饰符及其作用范围,包括public、private、protected等关键字的区别,并解释了默认情况下实例变量的访问级别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

@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中定义的私有变量只能在本类中访问

这里写图片描述

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值