Objective-C中實現類的初始化要先重載父類的init方法:
1.首先調用[super init]使用父類的方法進行初始化,將對象賦給self
2.如果self不為nil即父類初始化成功,接著進行本類的初始化
3.返回self給調用者
@implementation Test
-(id)init
{
if(self = [super init])
{
//本類的初始化代碼
//..........
}
return self;
}
@end
虛方法
1.調用時不看指針看對象,稱為虛方法
2.OC中所有的方法都是虛方法
3.父類的指針可以指向子類對象
有兩個類
card1.h
@interface Card1 : NSObject
{
int money;
}
@property (nonatomic,assign) int money;
-(void)printAccount;
card2.h
@interface Card2 : Card1
- (void)printAccount;
@end
在main.m中
Card2 *card2=[[Card2 alloc] init];
card2.money=1000;
Card1 *card1=card2;
[card1 printAccount];
//父類指針指向子類對象,實際上仍然時調用子類card2中的打印方法,因為card1指針指向card2對象
Objective-C中@property的所有屬性詳解 http://www.linuxidc.com/Linux/2014-03/97744.htm
Objective-C 和 Core Foundation 對象相互轉換的內存管理總結 http://www.linuxidc.com/Linux/2014-03/97626.htm
使用 Objective-C 一年後我對它的看法 http://www.linuxidc.com/Linux/2013-12/94309.htm
10個Objective-C基礎面試題,iOS面試必備 http://www.linuxidc.com/Linux/2013-07/87393.htm
Objective-C適用C數學函數 <math.h> http://www.linuxidc.com/Linux/2013-06/86215.htm
好學的 Objective-C 高清PDF http://www.linuxidc.com/Linux/2014-09/106226.htm