现在的位置: 首页 > 综合 > 正文

【OC学习-6】尝试完成一个有一点点意义的类和对象

2017年03月22日 ⁄ 综合 ⁄ 共 887字 ⁄ 字号 评论关闭

依然是New File >>> Objective-C Class新建一个类,起名字是ASRectangle。很明显,AS是短前缀,Rectangle类名,是要计算长方形面积周长等的类。

自动生成两个文家ASRectangle.h和ASRectangle.m。

我们在ASRectangle.h里面声明类:

#import <Foundation/Foundation.h>
@interface ASRectangle:NSObject{
    double width;
    double height;
}
//因为上面实例变量默认是protected,所以要能访问赋值,需要有如下方法
-(void) setWidth:(double)aWidth height:(double)aHeight; //这里有两参数,height可以省略,但加上更易阅读,这就是方法的签名
-(double)area;
-(double)len;
@end

我们在ASRectangle.m里面实现类:

#import "ASRectangle.h"
@implementation ASRectangle
-(void) setWidth:(double)aWidth height:(double)aHeight{
    width=aWidth;
    height=aHeight;
}
-(double)area{
    return height*width;
}
-(double)len{
    return 2*(height+width);
}
@end

我们在主文件main.m里面使用时:

#import <Foundation/Foundation.h>
#import "ASRectangle.h"
int main(int argc,const char * argv[]){
    @autoreleasepool{
        ASRectangle * rec=[[ASRectangle alloc]int];
        [rec setWidth:10 height:5]; //利用方法来赋值
        NSLog(@"area:%g len:$g",[rec area],[rec len]);
    }
    return 0;
}

运行即可得到面积和周长的结果。

抱歉!评论已关闭.