在 Stephen Kochan 的 Objective-C 书(我有第 3 版)中,一个 init 函数返回Fraction *
,一个返回id
:
-(Fraction *) initWith: (int) n: (int) d {
self = [super init];
if (self)
[self setTo: n over: d];
return self;
}
-(id) init {
return [self initWith: 0 over: 0];
}
(在本书的第 198 至 199 页)。为什么会这样,如果两者都返回Fraction *
或都返回id
(或有init
returnFraction *
和initWith
return id
)有关系吗?这样做有什么副作用(如果有的话)?