OC 变量作用域

这篇博客详细介绍了Objective-C中的变量作用域,包括@public、@protected、@private和@package。@public允许在任何地方访问,@protected限制为当前类和子类对象方法,@private仅限当前类,而@package则在相同框架内可见。在@interface中声明的变量默认为@public,在@implementation中默认为@private。
摘要由CSDN通过智能技术生成

 #import <Foundation/Foundation.h>

@interface Person : NSObject

   {

   int _age; //@interface中变量默认是@public

   @protected

    int _height;   //只能在当前类和子类的对象方法中访问

   @pritate

    int _weight; //只能在当前类的对象方法中才能直接访问

   @package

   NSString *_name;//只能在当前框架内使用

  }

-(int) age;

-(void) setAge:(int)age;

-(int) height;

-(void) setHeight:(int)height;

-(int) weight;

-(void) setWeight:(int)weight;

-(NSString *)name;

-(void) setName:(NSString *)name;

@end


@implementation Person

   {

   NSString *birthday;//@implementation中变量默认是@private

   }

-(int) age

{

  return -age

}

-(void) setAge:(int)age

{

-age=age;

}

-(int) height

{

return _height;

}

-(void) setHeight:(int)height

{

-height=height;

}

-(int) weight

{

return _weight;

}

   -(void) setWeight:(int)weight

 {

  _weight=weight;

 }

-(NSString *)name

{

return _name;

}

-(void) setName:(NSString *)name

{

_name=name;


}


@end



  1  @public (公开的)在有对象的前提下,任何地方都可以直接访问。

  2  @protected (受保护的)只能在当前类和子类的对象方法中访问

  3  @private (私有的)只能在当前类的对象方法中才能直接访问

  4  @package (框架级别的)作用域介于私有和公开之间,只要处于同一个框架中就可以直接通过变量名问。

 5 @interface中的声明的成员变量默认是public,@implatation中声明的成员变量默认是private




 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值