方法的声明,参数,返回值

network | | 访问(48)
//方法的声明,参数,返回值

@import <Foundation/Foundation.h>
@interface JiSuanQi : NSObject

// 方法名是,pi
- (double)pi;

// 方法名是,pingFang
- (int)pingFang;

// 在OC方法中,一个参数对应一个冒号,冒号后面参数类型用小括号括住
// 方法名,pingFang:
// 冒号包含在方法名中
- (int)pingFang:(int)num;

// 这里sum是方法名,后面num1,num2是参数(此为原始写法,不推荐写)
// 方法名是,sum::
- (int)sum:(int)num1 :(int)num2;

// 一个参数对应一个冒号,冒号前面加上参数描述
// 这是标准写法,一眼就看出 参数是啥东西
// 方法名是,sumWithNum1:andNum2:
- (int)sumWithNum1:(int)num1 andNum2:(int)num2;

@end

@implementation JiSuanQi

- (double)pi
{
  return 3.1;
}

- (int)pingFang:(int)num
{
  return num*num;
}

- (int)sum:(int)num1 :(int)num2
{
  return num1 + sum2; 
}

- (int)sumWithNum1:(int)num1 andNum2:(int)num2
{
  return num1 + sum2; 
}
@end 



int main(){
  JsSuanQi *jsq = [JsSuanQi new];
  double num = [jsq pi];
  NSLog(@"%f",num);

  int pf = [jsq pingFang:10];
  NSLog(@"%i",pf);

  // 这里sum是方法名,后面num1,num2是参数(此为原始写法,不推荐写)
  // 这样写 很难一眼看出参数10和参数9是啥
  // int sum = [jsq sum:10 :9];
  // NSLog(@"%i",sum);

  // 这是标准写法,一眼就看出 参数是啥东西
  int sum = [jsq sumWithNum1:10 andNum2:5];
  NSLog(@"%i",sum);
  return 0;
}