本次重点学习和理解OC对象方法的声明和定义
代码:
/*
计算器类
方法:
1> 返回 π
2> 计算某个整数的平方
3> 计算两个整数的和
*/
#import <Foundation/Foundation.h> @interface JiSuanQi : NSObject // 返回 π
- (double)pi; // 计算某个整数的平方
- (int)pingFangWithNum:(int)num; // 计算两个整数的和
- (int)sumWithNum1:(int)num1 andNum2:(int)num2;
@end @implementation JiSuanQi - (double)pi {
return 3.14;
} - (int)pingFangWithNum:(int)num {
return num * num;
} //- (int)sum:(int)num1 :(int)num2
- (int)sumWithNum1:(int)num1 andNum2:(int)num2 {
return num1 + num2;
}
@end int main() { JiSuanQi *jsq = [JiSuanQi new]; int a = [jsq sumWithNum1: andNum2:];
// int a =[jsq sum:10 :5];
NSLog(@"num + num = %i", a); int b = [jsq pingFangWithNum:];
NSLog(@"num * num = %i", b); double π = [jsq pi];
NSLog(@"π = %.2f", π); return ;
}
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: