OC开发之——方法的声明和实现(10)

一 概述

  • 本文通过Caculator计算器类来说明方法的声明与实现
  • Caculator计算器类——设计一个返回PI的方法(不带参数)
  • Caculator计算器类——设计计算平方的方法(一个参数)
  • Caculator计算器类——设计计算求和的方法(二个以上参数)

二 方法设计

2.1 一个返回PI的方法

2.1.1方法声明与实现

1
2
3
4
5
6
7
// 方法声明
- (double)pi;
// 方法实现
- (double)pi
{
return 3.14;
}

2.1.2 示意图

2.2 一个计算平方的方法

2.2.1 方法声明与实现

1
2
3
4
5
6
7
// 方法声明
- (double)square:(double)number;
// 方法实现
- (double)square:(double)number
{
return number * number;
}

2.2.2 示意图

2.3 计算求和的方法

2.3.1 方法声明与实现

1
2
3
4
5
6
- (double)sumOfNum1:(double)num1 andNum2:(double)num2;
// 方法实现
- (double)sumOfNum1:(double)num1 andNum2:(double)num2
{
return num1 + num2;
}

2.3.2 示意图

2.3.3 方法调用

三 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <Foundation/Foundation.h>

@interface JiSuanQi : NSObject
-(double)pi;
-(int)pingFang:(int)num;
-(int)sum:(int)num1:(int)num2;
-(int)sumWithNum1:(int)num1 andNum2:(int)num2;
-(int)sumWithNum1:(int)num1 andNum2:(int)num2 andNum3:(int)num3;

@end

@implementation JiSuanQi

-(double)pi
{
return 3.14;

}
-(int)pingFang:(int)num
{
return num*num;
}
-(int)sum:(int)num1:(int)num2
{
return num1+num2;
}
-(int)sumWithNum1:(int)num1 andNum2:(int)num2
{
return num1+num2;
}
-(int)sumWithNum1:(int)num1 andNum2:(int)num2 andNum3:(int)num3
{
return num1+num2+num3;
}
@end

int main()
{
JiSuanQi *jsq=[JiSuanQi new];
int pingFang=[jsq pingFang:10];
//int sum=[jsq sum: 10: 5];
int sum=[jsq sumWithNum1:10 andNum2:5];
NSLog(@"pingFang=%d",pingFang);
NSLog(@"sum=%d",sum);
//double pi= [jsq pi];
//NSLog(@"pi的之是%f",pi);

return 0;
}

四 总结

  • 冒号也是方法名的一部分
  • 同一个类中不允许两个对象方法同名