Objective - C基础: 第一天 - 11.OC方法的基本认识
前面我们学习了怎么设计一个合理的类, 这次我们来讲解一些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;
}
声明:
- (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;
}
好了, 这次我们就讲到这里, 下次我们继续~~~

浙公网安备 33010602011771号