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

iOS之04-方法的声明和实现的更多相关文章

  1. Method Swizzle黑魔法,修改 ios 系统类库方法 SEL IMP

    Method Swizzle黑魔法,修改 ios 系统类库方法   版权声明:本文为博主原创文章,未经博主允许不得转载. 一般来说,系统提供的方法已经足够开发了,但是有的时候有些需求用普通方法不好做. ...

  2. 李洪强iOS开发之OC[010] - 有参方法的声明实现和调用

    // //  main.m //  09 - 有参方法的声明实现和调用 // //  Created by vic fan on 16/7/5. //  Copyright © 2016年 李洪强. ...

  3. Unity3D与iOS消息交互方法(1)--iOS接收Unity3D发出的消息

    跨平台这种事情不管多NB, 总要有些与原生系统交互的方法, 比如  Unity3D与iOS消息交互方法. 一: 建立一个空的Unity工程. File -->  New Project 二: 编 ...

  4. iOS常用公共方法

      iOS常用公共方法 字数2917 阅读3070 评论45 喜欢236 1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat si ...

  5. C#中方法的声明

    C#中方法的声明(四要素) 访问修饰符 :public,private(方法的默认访问修饰符) 返回值类型:void 和 非void 方法名称    : 规范是方法名称取动词,每个单词的首字母大写. ...

  6. main方法中声明8种基本数据类型的变量并赋值

    main方法中声明8种基本数据类型的变量并赋值  char→  int→ long→ float→ double byte→ short→ 

  7. 【IOS】3. OC 类声明和实现

    .h文件 @interface NewClassName:ParentClassName { 实例变量://基本类型和指针类型  不能在这里初始化,系统默认会初始化 系统初始化遵循: 实例变量类型   ...

  8. Objective-C( 三、方法的声明与实现)

    OC方法的声明与实现 oc方法的声明在@interface中 大括号外@end上面 oc方法的实现在@implementation 中@end上面 OC方法中,一个参数对应一个冒号 方法名: 例  f ...

  9. iOS获取电量方法

    ios简单的方法: [UIDevice currentDevice].batteryMonitoringEnabled = YES; double deviceLevel = [UIDevice cu ...

随机推荐

  1. Linux定时任务设定

    使用crontab 命令进行设定. 详情可参见:http://blog.csdn.net/xiyuan1999/article/details/8160977. 共有6项构成,前5项为时间:分 时 天 ...

  2. Swift - LineChart绘制折线图

    LineChart,就使用Core Graphics和QuartzCore框架中的CAShapeLayer绘制.这样执行效率明显比堆砌UIView的方法效率高--占用资源少,执行快. 看看CALaye ...

  3. redis 列出所有的键

    > KEYS * (empty list or set)

  4. MVC学习笔记---ModelBinder

    http://www.cnblogs.com/terrysun/archive/2010/04/05/1704666.html http://www.cnblogs.com/aehyok/archiv ...

  5. BlueTooth: 蓝牙基础知识进阶——链路控制操作

    转自:http://blog.csdn.net/augusdi/article/details/25887395 七链路控制操作 链路控制操作就是用来描述一个设备是如何加入piconet又是如何从一个 ...

  6. 【20140113-2】MyEclipse生成javadoc时出错:编码GBK的不可映射字符

    今天生成java doc文档时,出现了如下所示的错误: 正在装入软件包 com.wisdom.test 的源文件...F:\workspace\StringUtils\src\com\wisdom\t ...

  7. 证明tmult_ok的正确性

    csapp page124. practice problem 2.35 /* Determine whether arguments can be multiplied without overfl ...

  8. Install PIL on mac osX10.9

    follow this instruction: http://blog.csdn.net/liushuaikobe/article/details/8729652 and if you encoun ...

  9. cordova+angularJS+ionic

    1.创建项目 2.路由 angular.module("starter",['ionic']) // 依赖 ionic 提供的ui-router .config(function ...

  10. PHP导出Excel一个方法轻松搞定

    /** * 导出数据为excel表格 *@param $data 一个二维数组,结构如同从数据库查出来的数组 *@param $title excel的第一行标题,一个数组,如果为空则没有标题 *@p ...