学过java或者c++的同学或许都知道this关键字是指当前类,这里oc中的self实际上也是一样的道理,是代表该类。而super则是指基类。
比如在进行初始化的时候,oc中都是这么写的:
-(id)init{
self = [super init];
if(self){
//待初始化的代码段
}
}
这里实际就是通过基类Foundation来进行初始化的,如果获取到基类初始化的返回指针,那么就可以进行本类的初始化了。
还有一点需要注意,方法前面的“+”、“-”的含义,加号是指类的方法,也称为静态方法,在java中静态方法不用实例化对象就能直接调用,这里实质是一样的。减号则是对象的方法,通过实例化对象以后,由对象来调用。