Objective-C类成员变量的作用域、self的用法、私有方法

来源:互联网 发布:js调用cmd 编辑:程序博客网 时间:2024/06/08 16:29

1、变量作用域:
@public
@protected
@private

例如可以写:
@interface Student: NSObject{
   @public
   int _age;
   int _no;

   @private
   int _name;
   float height;
}
@end
当时通常不这样写,因为如果给成员变量加上@public,别人就可以访问,我们通常只通过set、get方法访问
当我不写的时候,默认是protected的。

2、自动释放内存
Student * stu = [ [[Student alloc] init ] autorelease];
加上autorelease这个方法,我们不用再手动释放[stu release]; 而是自动释放

一般说,系统创建的静态方法,都是自动释放的。

3、self
@implementation Student
//谁调用方法,self就指向谁
- (void) test{
   //self 指向调用这个方法的类
    int age = self.age;
}

+(void) test2{
    [Student alloc]; //等效与 [self alloc];
}
@end

在java中只有动态方法中才能使用this,但是在OC中静态方法中用了self,self就代表类名;动态方法中用了self,则,self指向调用这个方法的对象。

4、私有方法
如果没有在接口中进行声明,直接在.m文件中写,则这个方法就是私有方法。

 

 

原创粉丝点击