从零开始学iOS7开发系列3-我的地盘我做主-Cha13!
!
原及例代码来raywenderlich store中的iOS Apprentice 系列3教程,经过翻译和改编。!
!
版权归原作者所有,本系列教程仅供学习参考使,感兴趣的朋友建议购买原英教程教程(The
iOS Apprentice Second Edition: Learn iPhone and iPad Programming via Tutorials!)。!
购买链接:!
http://www.raywenderlich.com/store !
!
最近的天好冷,这就是传说中的倒春寒吧?家还是要多注意体,感冒哦~!
!
欢迎继续我们的学习。!
!
让我们把理论知识进到底吧。!
!
先来了解下Overriding methods(法覆盖/重写)的概念。!
!
为什么会有这样个概念的存在呢?这个其实和我们上课提到的类继承机制有关。当我们通过类
继承的式创建个定义类时,这个定义的类也会继承来类的法。!
如我们创建了个新类MyClass:!
!
@interface MyClass : NSObject !
@end!
!
那么在后的代码中就可以这样来分配并初始化个MyClass类的实例对象:!
!
MyClass *myObject = [[MyClass alloc] init];!
!
!
即便我们的MyClass类中没有显声明个alloc法或个init法,上的代码仍然是有效的。因
为MyClass类继承NSObject类,NSObject类具有这样的法,这就了。也就是说MyClass类
会免费拥有NSObject类的所有法。这充分说明了作为个可以继承量财富的富代是多么的令
羡慕。豪,我们做朋友吧!!
!
继承来的财富不定让豪满意,如祖上虽然有庞的产业,但主要收来源是东莞的五星级酒
店和娱乐场所。作为个有良知尊重妇的富代,你可能会考虑弃暗投明,升级产业转搞较
有节操的机游戏。如可以考虑设计个疯狂美少游戏,充分利旗下的美资源,把她们的
形象卡通化。玩家把美少架在树上,可以攻击那些猪样的猿类。弹指挥间,强撸灰烟灭。!
!
因此,我们的MyClass类可能想要拥有的init法:!
!
@implementation MyClass!
!
- (id)init {!
if ((self = [super init])) { !
// do stuff!
}!
return self; !
}!
!
@end!
!
从此之后,如果后在代码中调[[MyClass alloc]init],就会触发这个新的init法。!
!
当然,在这个过程中我们还是需要调NSObject版本的init法,这样类才可以初始化,这也
是为神在上的定义init法的if条件语句中有[super init]。!
!
想想也是,如果没有辈的启动资,你也没机会搞神产业升级。!
!
当然,我们需在interface部分单独声明init法:!
!