iOS之04-方法的声明和实现

时间:2023-03-10 00:10:06
iOS之04-方法的声明和实现

本次重点学习和理解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: