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

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

原文地址:https://www.cnblogs.com/gfxxbk/p/5270099.html