本次重点学习和理解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. 我的JavaEE学习路线图

    从学习Java开发到现在虽然也已经快三年了,但是要说到分享一下经验实在是不敢当.权当是对自己的一个总结吧,希望大家不吝指教,互相交流. 照旧,还是现来整理一下我学习Java的一个路线图吧,然后按照这个 ...

  2. 图结构练习——最短路径(floyd算法(弗洛伊德))

    图结构练习——最短路径 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述  给定一个带权无向图,求节点1到节点n的最短路径.   输 ...

  3. Solr入门之(8)中文分词器配置

    Solr中虽然提供了一个中文分词器,但是效果很差,可以使用IKAnalyzer或Mmseg4j 或其他中文分词器. 一.IKAnalyzer分词器配置: 1.下载IKAnalyzer(IKAnalyz ...

  4. Linux 下编译自己的 OpenJDK7 包括JVM和JDK API

    1.首先去 这里 http://download.java.net/openjdk/jdk7/ 下载OpenJDK7的源码zip包 2. 简要介绍下OpenJDK7中的目录 hotspot: 放有Op ...

  5. 随机生成字符串-php-js

    js <script language="javascript"> function randomString(len) { len = len || 32; var ...

  6. PHP获取用户真实IP

    function get_client_ip() { if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP' ...

  7. 静态内容生成器——Wyam

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:今天继续静态网站的话题,介绍我选用的一个使用.NET开发的静态内容生成器--Wyam. ...

  8. 搭建Mantis 缺陷管理系统(转)

    转自 什么是Mantis MantisBT is a free popular web-based bugtracking system (feature list). It is written i ...

  9. mathematica练习程序(图像取反)

    代码很简单,就四行,我想到可以用mathematica干点什么了. 有人通过mathematica编程研究过视频编解码算法么,挺有意思,可以尝试一下. img=Import["f:/lena ...

  10. Linux C编程(1) vim及gcc命令

    1. 输入以下命令可以启动vi:      (1) vi:不指定文件名,在保存文件时需要指定文件名.      (2) vi 文件名:该文件既可以是已存在的,也可以是新建的.      (3) vi ...