在 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(或有initreturnFraction *和initWithreturn id)有关系吗?这样做有什么副作用(如果有的话)?