本章主要講述了簡單的類和繼承的問題
在OC里面,繼承主要注意幾點即可:
- self于super的區(qū)別
self代表當前類(的實例)延刘,而super則是其父類(的實例),所以在重寫(override)方法時候就應該注意了 六敬。 - 初始化方法
這個OC的初始化方法的繼承有一定的模塊性碘赖,一般都參考這種形式
- (id)init{
self = [super init];
if (self != nil) {
// Do something here!
}
return self;
}
- 上面提到的重寫,不管是重寫初始化的方法外构,還是其他方法普泡,如果需要調(diào)用父類的方法,一定要主要不能產(chǎn)生循環(huán)調(diào)用审编。循環(huán)調(diào)用如下:
父類
- (id)init{
self = [super init];
if (self != nil) {
// Do something here!
}
return self;
}
- (id)initWithName:(NSString *)name{
self = [super init];
if (self != nil) {
// Do something here!
}
return self;
}
子類
- (id)init{
self = [super initWithName:@"defaultName"]; //此處會導致循環(huán)調(diào)用
if (self != nil) {
// Do something here!
}
return self;
}