//使用分数的程序-类版本
#import <Foundation/Foundation.h>
//-----@interface部分-----描述类和类的方法
@interface Fraction: NSObject
-(void) print; //-实例方法 +类方法
-(void) setNumerator: (int) n;
-(void) setDenominator: (int) d;
@end
//-----@implementation部分-----描述数据实际方法代码实现
@implementation Fraction
{
int numerator;
int denominator;
}
-(void) print //不返回值
{
NSLog (@"%i/%i", numerator, denominator);
}
-(void) setNumerator: (int) n
{
numerator = n; //将n的值存储到numerator中
}
-(void) setDenominator: (int) d;
{
denominator = d;
}
@end
//----- program 部分-----
int main(int argc, const char * argv[]) {
@autoreleasepool {
Fraction *myFraction; //存储新的Fraction类的值//实际存储一个引用(内存地址)
//创建一个分数实例
myFraction = [Fraction alloc]; //alloc发送给类
//alloc = allocate,分配内存空间,继承一个父类见Chapter8,且保证对象的所有实例变量都变成初始状态
myFraction = [myFraction init]; //init发送给一个类的实例
//⭐️Fraction *myFraction = [[Fraction alloc] init];
//设置分数为1/3
[myFraction setNumerator: 1]; //向myFraction发送setNumerator:消息,并提供一个值为1的参数
[myFraction setDenominator: 3]; //传递来的值3被赋值给d,再把这个值存储到Denominator中
//使用打印方法显示分数
NSLog (@"The value of myFraction is:"); //NSLog显示文本
[myFraction print]; //调用print方法
}
return 0;
}