您的位置:首页 > 移动开发 > Objective-C

Objective-C 类基础(三)

2014-04-18 22:33 281 查看
依旧是Fraction类,只不过这次使用属性方法

#import <Foundation/Foundation.h>
@interface Fraction:NSObject
@property int numerator,denominator;//类Fraction 包含两个属性
-(void) print;
-(double) converToNum;
@end

@implementation Fraction
@synthesize numerator,denominator;//编译器自动生成setter getter方法,setNumerator,setDenominator,为setter方法,Numerator,Denominator getter方法
-(void) print{
//return ((@"%i/%i",numbertor,denomiator));
NSLog(@"%i/%i",numerator,denominator);//直接打印属性
}
-(double) converToNum{
if(denominator!=0){
return (double) numerator/denominator;
}
else return NAN;//NAN 表示未定义的数
}
@end

int main(int argc, const char * argv[])
{

@autoreleasepool {

// insert code here...
// NSLog(@"Hello, World!");
Fraction *myFraction=[[Fraction alloc] init];
/*
[myFraction setNumerator:1];
[myFraction setDenomiator:3];

NSLog(@"The value is");
[myFraction print];
NSLog(@"%i/%i ",[myFraction numbertor],[myFraction denomiator]);
*/

//点运算符,可以非常简便的访问类的方法
myFraction.numerator=1;
myFraction.denominator=3;
NSLog(@"The value is");
NSLog(@"%i %i ",myFraction.numerator,myFraction.denominator);//点语法调用getter方法
//调用属性的setter
myFraction.numerator=1; // (myFraction.numerator=value) == ([myFraction setNumerator:(int)]),点语法调用setter方法
myFraction.denominator=0;
NSLog(@"%f AND %f",myFraction.converToNum,[myFraction converToNum]);

[myFraction setNumerator:1];
[myFraction setDenominator:4];
NSLog(@"The value is");
NSLog(@"%i %i ",[myFraction numerator],[myFraction denominator]);//获得属性的值,相当于调用getter方法 [myFraction numerator] == myFraction.numerator

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息