首页 > 代码库 > 【Obj-C】学习杂记-3

【Obj-C】学习杂记-3

2015/1/4 夜

一个犯的错误:方法是发送给对象的,而不是发送给类的。

对象和接收到消息后,在当前类中找,找不到去上一级父类找,再上一级……

创建新的类时,对象会从它的超类NSObject中继承实例变量isa

 

“每个方法调用都获得了一个名为self的隐藏参数,它是一个指向接收消息的对象的指针。”

“self指向继承链中第一个类中的第一个实例变量”

 

子类为了实现更特殊的功能而需要重写父类的方法。例如父类定义了一个draw的空方法,子类详细定义了draw,程序就会按照子类的方法重写draw,而忽略父类的draw。

如果还需要调用父类的实现方法,又要重写子类,使用[super method]。子类中重新写父类中的方法,感觉类似于改动,改动一些实例变量的值之类的,然后再再父类中的实现方法中实现。

 

复合:在类中将对象的指针作为实例变量。一个类复合了其他类,变形金刚~

NSLog()是给对象发送description消息,返回NSString,%@调用对象的description并显示结果。

eg:

@implementation xyz:NSObject

-(NSString *)description

{return (@“what?”);}

-(void)print

{NSLog(@“%@”,xyz);}

@end

 

【Obj-C】学习杂记-3