Objective-C中方法实现部分的要点

@implementation部分:@implementation部分包含声明在@interface部分的方法的实际代码。也就是说在@interface部分声明方法,在@implementation部分定义它们(@implementation给出实际逻辑的代码)。

其格式如下:

@implementation 类名名称

内容代码(解决方案,说哪个都可以)

@end

下面代码很好的体线了@interface与@implementation的用法:

值的再次提醒NSLog(@"字符串");是不能输出中文的。

#import <Foundation/Foundation.h>

@interface Fraction : NSObject
{
int numerator;
int denominator;
}
-(void) print;
-(void) setNumerator: (int) n;
-(void) setDenominator: (int) d;

@end

@implementation Fraction
-(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 {

Fraction *frac1 = [[Fraction alloc] init];
Fraction *frac2 = [[Fraction alloc] init];

int a, b, x, y;
printf("请输入四个整数并用逗号隔开,谢谢合作!\n");
scanf("%d,%d,%d,%d", &a, &b, &x, &y);

[frac1 setNumerator: a];
[frac1 setDenominator: b];

[frac2 setNumerator: x];
[frac2 setDenominator: y];

NSLog(@"First fraction is:");
[frac1 print];

NSLog(@"Second fraction is:");
[frac2 print];

}
return 0;
}

 

类名名称必须与@interface部分的类名相同,可以在父类的名称之后使用冒号,如同在@interface部分使用的冒号一样,但通常不这么做,@implementation部分包含在@interface部分指定的每个方法的代码。与@interface部分类似,每种方法的定义首先指定方法(类或者实例)的类型、返回类型、参数及其类型。然而,我们并没有使用分号来结束该行,而是将之后的方法代码放入一对花括号中。

Program部分:

program部分包含解决特定问题的代码,如果有必要,它可以跨越多个文件。(具体用法参考Objective-C2.0基础教程)

实例变量的访问以及数据封装:

数据封装对于有编程基础的人来说都应该明白,在这里数据封装其实就是将实例变量隐藏起来的做法(也可以理解为将类的定义与类的内部细节进行分离开来)。这里需要注意的就是:访问的方法名与实例变量名是相同的 。

posted on 2011-11-16 17:24  呓语若梦半浮生  阅读(322)  评论(0编辑  收藏  举报

导航