@interface rectangle: NSObject
@property int width, height;
{
-(int) area;
-(int) perimeter;
-(void) setWidth: (int) w andHeight: (int) h;
}
@end
@implementation rectangle
@synthesize width, height;
...
...
@end
長方形の正方形のサブクラスを作成しました
@interface square: rectangle
-(void) setSide: (int) s;
-(int) side;
@end
@implementation square
-(void) setSide: (int) s
{
[self setWidth: s andHeight: s];
}
-(int) side
{
return self.width;
}
@end
私の主な質問はこれです:なぜ私はこれをすることができないのですか
return width;
正方形のオブジェクトの側面を取得したいとき。と思いました
@property int width, height;
から単純化されたものです
@interface rectangle: NSObject
{
int width;
int height;
}
//getter/setter methods
...
@end
本では、インスタンス変数が @interface で宣言されている場合、それはそのサブクラスに継承されます。しかし、どうやら、
return width;
動作しないようです。なぜこうなった?