我是Objective-C的初学者并且一直在读一本书。我现在仍然坚持每章末尾我必须做的一个练习。这就是我到目前为止所拥有的。如何定义区域和周长?我不是问区域的公式是什么(例如...长度x宽度)。我问如何在代码中实现它。我知道这很简单,但我无法弄明白。提前致谢!
#import <Foundation/Foundation.h>
// insert code here...
@interface Rectangle : NSObject
-(void) setWidth: (int) w;
-(void) setHeight: (int) h;
-(int) width;
-(int) height;
-(int) area;
-(int) perimeter;
@end
@implementation Rectangle
{
int width;
int height;
int area;
int perimeter;
}
-(void) setWidth:(int) w {
width = w;
}
-(void) setHeight:(int) h {
height = h;
}
-(int) width {
return width;
}
-(int) height {
return height;
}
-(int) area {
return area;
}
-(int) perimeter {
return perimeter;
}
@end
int main(int argc, char * argv[])
{
@autoreleasepool {
Rectangle *rec1 = [Rectangle new] ;
[rec1 setWidth:10];
[rec1 setHeight:10];
}
return 0;
}
答案 0 :(得分:0)
外围看起来像是在这里返回:
-(int) perimeter
{
return perimeter;
}
我会删除perimeter
实例变量并改为执行此操作:
-(int) perimeter
{
return 2 * (width + height);
}
该地区也是如此。摆脱area
实例变量并执行此操作:
-(int) area
{
return width * height;
}
答案 1 :(得分:0)
返回宽度和高度的表达式而不是实例变量,如下所示:
- (int)area
{
return width * height;
}
- (int)perimeter
{
return 2 * (width + height);
}
顺便说一句,请注意代码的格式。太多的垂直空白和不一致的缩进都不好。