IOS开发基础Object-C(05)—OC变量的作用域、self

一、变量的作用域

方法的声明和实现,都必须以+ 或者 - 开头,
(1). +表示类方法(静态方法)
(2).-表示对象方法(动态方法)
在.h中声明的所有方法都是public类型(通过Category可以实现private)


1.@public,@protected,@private

@public 全局都可以访问
@protected 只能在类内部和子类中访问
@private 只能在类内部访问

注:在@interface中声明的变量默认是@protected类型

2.static对象(类内)

我们将对象声明在类中”{“和”}”之外,也就是与方法和@property写在一起,就可以声明一个类内部的static对象。

注:@property帮我们自动生成getter和setter方法的声明,和@synthesize(自动生成getter和setter方法的实现)连用,在下一篇博客中我会详细讲解,大家稍安勿躁

3.static方法
当方法前是使用”+”来修饰并且声明在头文件中,则说明该方法相当于c++中的static方法,通过类直接调用。但是需要注意的是,虽然这样的方法可以通过类直接调用,但是不可以通过对象调用。

4.public方法

当方法前是使用”-“来修饰并且声明在头文件中,则该方法可以通过类的对象进行调用。

5.private方法

Objective-C中的private方法是通过category实现的,在实现文件中我们声明一个类的category,在这里面的方法就是private方法。类的对象是不可以进行调用的,同样由于该方法的声名是在类的实现文件中,所以子类也是不能重写该方法的。

注:也就是说如果直接把方法写在.m文件中,没有在.h文件中声明,那就是私有方法


二、self的功能

1、在动态方法中,self代表当前对象

-(void)test{
    int age=self.age;
}

2、在静态方法中,self代表当前方法名

+(void)test2{
    [self alloc];
}

归根到底,谁调用了方法,self就指向谁


三、视频连接

MJ视频 OC6-self、自动释放、变量作用域
http://pan.baidu.com/s/1dDEy6M9

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值