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

本文详细介绍了在面向对象编程中super关键字的常见使用场景,包括如何在子类中调用父类的方法,以及如何正确地初始化对象。同时,文章还提供了一些避免错误实践的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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 [self setColor:color]; return [self autorelease];

}

第二眼的 self

正确的例子:

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

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

}

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

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值