本次重点学习和理解OC对象方法的声明和定义
代码:
1 /* 2 计算器类 3 方法: 4 1> 返回 π 5 2> 计算某个整数的平方 6 3> 计算两个整数的和 7 */ 8 #import <Foundation/Foundation.h> 9 10 @interface JiSuanQi : NSObject 11 12 // 返回 π 13 - (double)pi; 14 15 // 计算某个整数的平方 16 - (int)pingFangWithNum:(int)num; 17 18 // 计算两个整数的和 19 - (int)sumWithNum1:(int)num1 andNum2:(int)num2; 20 @end 21 22 @implementation JiSuanQi 23 24 - (double)pi { 25 return 3.14; 26 } 27 28 - (int)pingFangWithNum:(int)num { 29 return num * num; 30 } 31 32 //- (int)sum:(int)num1 :(int)num2 33 - (int)sumWithNum1:(int)num1 andNum2:(int)num2 { 34 return num1 + num2; 35 } 36 @end 37 38 int main() { 39 40 JiSuanQi *jsq = [JiSuanQi new]; 41 42 int a = [jsq sumWithNum1:10 andNum2:5]; 43 // int a =[jsq sum:10 :5]; 44 NSLog(@"num + num = %i", a); 45 46 int b = [jsq pingFangWithNum:10]; 47 NSLog(@"num * num = %i", b); 48 49 double π = [jsq pi]; 50 NSLog(@"π = %.2f", π); 51 52 return 0; 53 }
1、没有传参数的方法
代码13行和24-26行 分别为没有传参数的方法声明和定义
方法声明
12 // 返回 π
13 - (double)pi;
方法实现
24 - (double)pi {
25 return 3.14;
26 }
返回值类型不能与方法名之间存在空格,否则会报错
方法名为 pi
2、传一个参数的方法
代码16行和28-30行 分别为传一个参数的方法声明和定义
方法声明
15 // 计算某个整数的平方
16 - (int)pingFangWithNum:(int)num;
方法实现
28 - (int)pingFangWithNum:(int)num {
29 return num * num;
30 }
OC方法中一个参数对应一个冒号,num为参数,并且参数前加描述信息
方法名叫:pingFangWithNum:(冒号也是方法名的一部分)
3、传两个参数的方法
代码16行和33-35行 分别为传两个参数的方法声明和定义
方法声明
15 // 计算某个整数的平方
16 - (int)pingFangWithNum:(int)num;
方法实现
32 //- (int)sum:(int)num1 :(int)num2
33 - (int)sumWithNum1:(int)num1 andNum2:(int)num2 {
34 return num1 + num2;
35 }
- (int)sum:(int)num1 :(int)num2; 两个冒号之间必须用空格隔开
方法名:sumWithNum1:andNum2: