#import <Foundation/Foundation.h>
@interface Fraction : NSObject
-(void) print;
-(void) setNumerator: (int) n;
-(void) setDenominator: (int) d;
@end
@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
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
int res, value1, value2;
value1 = 87;
value2 = 15;
res = value1 - value2;
NSLog(@"%i - %i = %i", value1 ,value2, res);
NSLog(@"Programming is fun!");
Fraction *myFraction;
myFraction = [Fraction alloc];
myFraction = [myFraction init];
[myFraction setNumerator:1];
[myFraction setDenominator:3];
NSLog(@"The value of myFraction is :");
[myFraction print];
}
return 0;
}
分析:
1. autoreleasepool,就是自动释放池。
2. 不是include,而是import。
3. NSLog使用@“”,表示格式化字符串。int使用 %i 进行表示。
4. 定义类先说明interface,再进行implementation的说明。函数写法注意。
-(void) FunctionA : (int) A; 开头是-,表示是一个实例方法;如果开头是+,表示是一个类方法。
目前发现成员属性都写在了implamentation。
5. 使用类和对象,以及方法。[],创建对象时先alloc,再init。然后使用方法时如带参数使用:进行说明。
也可以使用[类 new]一次创建并初始化。