objective-c教程-基础3(super和self)

来源:互联网 发布:平移旋转矩阵表达通式 编辑:程序博客网 时间:2024/05/14 10:36

 

super的常见使用

嵌套

- negotiate {

... return [super negotiate];

}

super的常见使用

复用

- (id)init{

if (self =[super init]){ ...

}

}

把核心逻辑集中在父类的实现中,子类进行一些边缘处理

 

第二眼的self

self在实例方法中,

作为一个隐藏变量,可以被重新赋值

self

可以当作执行方法的实例本身

类方法往往是用来对本类的实例进行处理,而不是对 类对象进行处理

self

然而在类方法中,

理的实例对象

代表的是类对象,而不是正在处

第二眼的self

错误的例子:

+ (Rectangle *)rectangleOfColor:(NSColor *) color {

self =[[Rectangle alloc] init]; // BAD [selfsetColor:color]; return [self autorelease];

}

第二眼的self

正确的例子:

+ (id)rectangleOfColor:(NSColor*)color {

id newInstance= [[self alloc]init]; // EXCELLENT [newInstancesetColor:color]; return [newInstance autorelease];

}

构建新的工程,定义类来描述面向对象课程练习中的

个系统。每个系统对应一个工程。

建立新的工程,定义一些相互继承的类来描述常见交 通工具的分类关系。

 

原创粉丝点击