Objective - C基础: 第三天 - 3.成员变量的作用域
2015-01-21 15:28
351 查看
之前我们稍微讲过一些关于成员变量的作用域的知识, 今天我们来复习一下.
例子:
输出结果:
![](http://img.blog.csdn.net/20150121152559236?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXEzNTAxMTY1NDI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
解释一下:
@public :
在任何地方都能直接访问对象的成员变量
@private :
只能在当前类的对象方法中直接访问(@implementation中默认是@private)
@protected :
可以在当前类及其子类的对象方法中直接访问 (@interface中默认就是@protected)
@package :
只要处在同一个框架中,就能直接访问对象的成员变量 (由于在现实开发中不常用, 所以在这里不解释)
PS:如果什么都不写, 那么默认就是@protected
补充:
@implementation一样可以声明成员变量
@interface和@implementation中不能声明同名的成员变量
OC中的继承是属于单继承, 一个子类只能对应一个父类.
好了, 这次我们就讲到这里, 下次我们继续~~~
例子:
#import <Foundation/Foundation.h> @interface Person : NSObject { @public int _age; @private NSString *_name; @protected int _height; } @end
输出结果:
解释一下:
@public :
在任何地方都能直接访问对象的成员变量
@private :
只能在当前类的对象方法中直接访问(@implementation中默认是@private)
@protected :
可以在当前类及其子类的对象方法中直接访问 (@interface中默认就是@protected)
@package :
只要处在同一个框架中,就能直接访问对象的成员变量 (由于在现实开发中不常用, 所以在这里不解释)
PS:如果什么都不写, 那么默认就是@protected
补充:
@implementation一样可以声明成员变量
@interface和@implementation中不能声明同名的成员变量
OC中的继承是属于单继承, 一个子类只能对应一个父类.
好了, 这次我们就讲到这里, 下次我们继续~~~
相关文章推荐
- [Objective-c 基础 - 2.5] .h和.m文件,点语法,成员变量作用域
- 黑马程序员---Objective-C基础学习---点方法使用和成员变量的作用域
- [Objective-c 基础 - 2.5] .h和.m文件,点语法,成员变量作用域
- objective-c中点语法和成员变量作用域
- 黑马程序员------OC基础-----点语法、id、构造方法、Category、成员变量作用域
- 黑马程序员---Objective-C 成员变量的作用域
- OC基础---NSString、多文件开发、点语法、成员变量的作用域、@property和@synthesize
- 黑马成员———OC学习第三天(成员变量作用域)
- OC基础—点语法、成员变量的作用域
- 【Objective-C】09-OC中的点语法和成员变量的作用域
- 黑马程序员——OC基础语法—点语法和成员变量作用域
- Objective-C—self 、super、点语法、成员变量的作用域、@property和@synthesize、id
- OutMan——Objective-C中成员变量的作用域、@property和@synthesize介绍和使用、构造方法和自定义构造方法
- objective-c--- 成员变量作用域、@property、@Synthesize、id、重写,自定义构造方法
- objective-c 成员变量的作用域
- Objective-C成员变量的作用域
- [C#基础]3.变量的作用域
- 黑马程序员——OC基础---核心语法(点语法,成员变量的作用域,@property和@synthesize)
- Objective-C类成员变量的作用域、self的用法、私有方法