关于object-c中的super与self

来源:互联网 发布:linux递归设置权限 编辑:程序博客网 时间:2024/04/26 01:09

学过java或者c++的同学或许都知道this关键字是指当前类,这里oc中的self实际上也是一样的道理,是代表该类。而super则是指基类。
比如在进行初始化的时候,oc中都是这么写的:

-(id)init{    self = [super init];    if(self){        //待初始化的代码段    }}

这里实际就是通过基类Foundation来进行初始化的,如果获取到基类初始化的返回指针,那么就可以进行本类的初始化了。
还有一点需要注意,方法前面的“+”、“-”的含义,加号是指类的方法,也称为静态方法,在java中静态方法不用实例化对象就能直接调用,这里实质是一样的。减号则是对象的方法,通过实例化对象以后,由对象来调用。

0 0