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

Objective - C基础: 第一天 - 11.OC方法的基本认识

2015-01-14 23:11 405 查看
前面我们学习了怎么设计一个合理的类, 这次我们来讲解一些OC方法, 在之前的例子里, 我们也用过方法, 但对方法的印象不深, 方法还有什么用途呢? 下面让我们来一起看看~~

首先我们来看一个例子:

#import <Foundation/Foundation.h>

@interface Preson : NSObject
{
@public
int age;
}
- (void)print;
@end

@implementation Preson

- (void)print
{
NSLog(@"小明今年%d岁.", age);
}
@end

int main()
{
Preson *p = [Preson new];

p->age = 20;

[p print];

return 0;
}


里面的方法声明, 方法实现都分别写在@interface和@implementation里, 而调用代码则是在main()函数里, 如果我需要一个计算平方的算法呢? 在OC中的方法和C语言的函数就又一定的写法区别了, 比如方法名和参数是以 " : "号分开, 比如:

声明:

- (int)chengji:(int)n;
实现:
- (int)chengji:(int)n
{
return n * n;
}


而多个参数也是如此用" : "号分开, 但必须注意一点, apple公司的建议写法是在参数前添加描述, 越详细越好, 比如:
声明:

- (int)addition:(int)n addN:(int)n1;
实现:

- (int)addition:(int)n addN:(int)n1
{
return n + n1;
}

PS: 注意, 参数和描述必须以空格分开, 不然参数名和描述就会混在一起, 编译器会报错, 而且, 只有addition: addN: 这样子才是完整的方法名.

完整的代码:

#import <Foundation/Foundation.h>

@interface Preson : NSObject
{
@public
int age;
}
- (void)print;
- (int)addition:(int)n addN:(int)n1;@end

@implementation Preson

- (int)addition:(int)n addN:(int)n1 { return n + n1; }

- (void)print
{
NSLog(@"小明今年%d岁.", age);
}
@end

int main()
{
Preson *p = [Preson new];

p->age = 20;

[p print];

int a = [p addition:10 addN:20];
NSLog(@"%d", a);

return 0;
}


好了, 这次我们就讲到这里, 下次我们继续~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: