黑马成员———OC学习第三天(成员变量作用域)
来源:互联网 发布:java种方法是什么 编辑:程序博客网 时间:2024/05/17 01:06
------- Android培训、Java培训、IOS培训、.NET培训 期待与您交流! ----------
成员变量的作用域
在OC中修饰成员变量的作用域,我们通常用下面的这几个关键字:
- @public
- @protected
- @private
- @package
1、@public
用@public 修饰成员变量表示:在任何地方都能直接访问对象的成员变量
eg:
#import <Foundation/Foundation.h>@interface Person : NSObject{ @public int _age; // 定义一个public的成员变量_age}@end@implementation Person@endint main(){ // 定义一个Person对象 Person *p = [Person new]; // 直接访问对象的_age 属性并赋值 p->_age = 100; return 0;}// 这个示例中,在main函数中直接访问成员变量
2、@protected
用@protected 修饰成员变量表示:成员变量只能在当前类及其子类的对象方法中直接访问
eg:成员变量只能在当前类及其子类的对象方法中直接访问,那么上述示例中在main函数中直接访问成员变量在这里肯定是不行的了。
#import <Foundation/Foundation.h>@interface Person : NSObject{ @protected int _age;}// 对象方法输出年龄- (void)test;@end@implementation Person// 对象方法test 输出年龄- (void)test{ NSLog(@"这个人的年龄是:%d", _age);}@end@interface Student : Person// 对象方法- (void)test;@end@implementation Student- (void)test{ NSLog(@"Student的年龄是:%d", _age);}@endint main() { // 定义一个Person对象 Person *p = [Person new]; // 调用对象方法test [p test]; // 定义一个Student对象 Student *stu = [Student new]; // 调用对象方法test [stu test]; return 0;}3、@private
成员变量用@private 修饰表示:成员变量只能在当前类的对象方法中直接访问
eg:
#import <Foundation/Foundation.h>@interface Person : NSObject{ @private int _age;}// 对象方法输出年龄- (void)test;@end@implementation Person// 对象方法test 输出年龄- (void)test{ NSLog(@"这个人的年龄是:%d", _age);}@end4、@package
成员变量用@package 修饰表示:只要在同一框架中,成员变量就能直接被访问。
5、总结
默认情况下成员变量的作用域是@protected的,@package一般情况下也是用得比较少,另外在@implementation中其实也是可以定义成员变量的,这里的成员变量默认就是@private的,不过需要注意的@interface和@implementation中定义的成员变量是不能同名的。
0 0
- 黑马成员———OC学习第三天(成员变量作用域)
- 黑马程序员——OC基础语法—点语法和成员变量作用域
- 黑马程序员——【OC】点语法以及成员变量的作用域
- OC基础—点语法、成员变量的作用域
- 黑马程序员——OC语言------NSString、多文件开发、点语法、成员变量的作用域、@property和@synthesize
- 黑马程序员——OC基础---核心语法(点语法,成员变量的作用域,@property和@synthesize)
- 黑马程序员——OC语言学习——Xcode开发初始化、点语法、成员变量作用域、关键字@property和@synthesize
- 黑马视频学习笔记-OC-点语法、成员变量的作用域
- 黑马程序员——OC学习之成员变量的get,set方法多种实现
- 三、oc中成员变量作用域的学习
- OC——多态、NSString的基本使用、点语法、成员变量作用域
- OC语言--成员变量作用域
- OC成员变量的作用域
- 关于OC成员变量作用域
- OC 成员变量的作用域
- Objective - C基础: 第三天 - 3.成员变量的作用域
- 黑马程序员——基础知识-成员方法和成员变量
- 黑马程序员------OC基础-----点语法、id、构造方法、Category、成员变量作用域
- 第6周项目3人数不定的工资类
- SVN的简单实用流程
- 在Oracle中自增长的设置和关于日期的处理(转)
- 杭电5007Post Robot
- 我们为什么要思考算法???
- 黑马成员———OC学习第三天(成员变量作用域)
- Date
- JAE新建应用失败SAE搭建微信公众平台token验证失败
- C/C++中extern关键字详解
- 第六届蓝桥杯省赛C/C++-B 全解析
- Set Matrix Zeroes -- leetcode
- HDOJ 2095 find your present (2)
- esp8266透明模式简述
- Factorial Trailing Zeroes--LeetCode