//
// Fraction.h
#import <Foundation/Foundation.h>
/*
@interface 部分用于描述类和类的方法
*/
@interface Fraction : NSObject
- (void)print;
- (void)setNumerator:(int)n;
- (void)setDenominator:(int)d;
@end
//
// Fraction.m
#import "Fraction.h"
/*
@implementation 部分用于描述数据(类对象的实例变量存储的数据),并在接口中声明方法的实际代码
*/
@implementation Fraction
{
//这一部分声明的成员称为实例变量
int numerator;
int denominator;
}
- (void)print
{
NSLog(@"%i/%i",numerator,denominator);
}
- (void)setNumerator:(int)n
{
numerator = n;
}
- (void)setDenominator:(int)d
{
denominator = d;
}
@end
//
// main.m
#import <Foundation/Foundation.h>
#import "Fraction.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//定义一个名为myFraction的变量
Fraction *myFraction; //表示myFraction是一个Fraction类型的对象。也就是说 myFraction用于存储新的Fraction类的值
//创建一个分数实例
myFraction = [[Fraction alloc] init];
/*
也可用这样写
myFraction = [Fraction alloc]; //分配内存存储空间
myFraction = [Fraction init]; //初始化
*/
/*
上面2步最终的简写形式是:
Fraction *myFraction = [[Fraction alloc] init];
*/
//设置分数为 1/3
[myFraction setNumerator:1];
[myFraction setDenominator:3];
//使用打印方法显示分数
NSLog(@"The value of myFraction is:");
[myFraction print];
}
return 0;
}