1. 类是来描述一群具有相同特征和行为的事物的.

类还有行为.

类的声明

@interface 类名 : NSObject

{

属性.

}

方法的声明

@end

类的实现.

@implementation 类名

方法的实现

@end

前面只描述了这个类所拥有的共同的特征.使用属性来描述.

类还有行为.

行为在类中用方法来表示. 和函数特别像.

在类中创建方法来代表类的行为,分两个步骤

1). 方法的声明

写在@interface的大括弧的外面.

2). 方法的实现.

写在@implementation中.

2. 无参数的方法的声明.

1). 位置:@interface的大括弧的外面.

2). 声明的语法:

- (返回值类型)方法名称;

- (void)run;

3). 方法实现.

将方法头拷贝到@implemetation中 删除分号.补大括弧.

将方法的实现写在大括弧之中.

- (void)run

{

代码实现.

}

4). 如何调用

类中的方法不能直接调用.因为类不能直接使用.

如果非要用的话,就得创建这个类的对象.

对象中有类所定义的所有的东西,包括属性和方法.

这个时候,就要可以调用对象中的方法.

调用格式:

[对象名 方法名];

3. 带1个参数的方法的声明

1). 位置:@interface的大括弧的外面.

2). 声明的语法:

- (返回值类型)方法名:(参数类型)形参名称;

- (void)eat:(NSString *)foodName;

3). 实现.

将方法头拷贝到@implemetation中 删除分号.补大括弧.

将方法的实现写在大括弧之中.

在方法实现中可以直接使用参数的值.

4). 调用

类中的方法不能直接调用.因为类不能直接使用.

如果非要用的话,就得创建这个类的对象.

对象中有类所定义的所有的东西,包括属性和方法.

这个时候,就要可以调用对象中的方法.

调用带1个参数的方法:

[对象名 方法名:实参];

4. 带多个参数的方法的声明

1). 位置:@interface的大括弧的外面.

2). 声明语法格式:

- (返回值类型)方法名:(形参类型)形参名1 :(形参类型)形参名2 :(形参类型)形参名3;

- (int)sum:(int)num1 :(int)num2;

3). 实现

将方法头拷贝到@implemetation中 删除分号.补大括弧.

将方法的实现写在大括弧之中.

在方法实现中可以直接使用参数的值.

4). 调用

类中的方法不能直接调用.因为类不能直接使用.

如果非要用的话,就得创建这个类的对象.

对象中有类所定义的所有的东西,包括属性和方法.

这个时候,就要可以调用对象中的方法.

调用带多个参数的方法:

[对象名 方法名:实参1 :实参2 :实参3];

5. 使用注意.

1). 关于方法的名称

- (void)run; 这个方法的名称叫做run

- (void)eat:(NSString *)foodName; 这个方法的名称叫做eat:

- (int)sum:(int)num1 :(int)num2; 这个方法的名称叫做 sum: :

如果方法没有参数,那么这个方法的名字就是这个方法的名字.

如果方法有参数,那么方法的名字带了冒号的.

2). 带参数的方法的命名规范.

a. 如果我们的方法只有1个参数. 建议这个方法的名字.

xxxWith:

这么做的的话.那么在调用方法的时候,整个看起来就像是1条完整的语句.

xxxWithxxx:

b. 如果方法有多个参数.建议这个方法的名字.

xxxWith:(参数类型)实参名称 and:(参数类型)实参名称;

建议:

xxxWith参数1: and参数2: and参数3:

c. 最重要的是让在调用方法的时候,可以看起来是1条完整的语句.

d. 注意.关于方法名称

- (void)eat:(NSString *)foodName;  eat:

- (void)eatWith:(NSString *)foodName;  eatWith:

- (void)eatWithFood:(NSString *)foodName;  eatWithFood:

- (int)sum:(int)num1 :(int)num2;    sum: :

- (int)sumWith:(int)num1 and:(int)num2; sumWith: and:

- (int)sumWithNum1:(int)num1 andNum2:(int)num2;  sumWithNum1: andNum2:

OC之方法的声明实现和调用的更多相关文章

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

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

  2. 李洪强iOS开发之OC[011] - 有参方法的声明实现以及调用练习

  3. 李洪强iOS开发之OC[009] -OC无参方法的声明实现和调用

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

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

  5. Objective-C学习笔记(十九)——对象方法和类方法的相互调用

    事实上在OC的对象方法(减号方法)和类方法(加号方法)并非相互独立的,它们也能够发生千丝万缕的关系,今天我们来研究下它们两者相互调用的问题.该样例还是以People类为基础. (一)对象方法调用类方法 ...

  6. 李洪强iOS开发之OC[012] -类的声明实现小结

    // //  main.m //  11 - 内容总结 // //  Created by vic fan on 16/7/9. //  Copyright © 2016年 李洪强. All righ ...

  7. 源码学习:一个express().get方法的加载与调用

    刚刚接触express,它的中间件确实把我搞得头晕.get的回调中要不要加next?不加载还会执行下一个中间件么?给get指定'/'路径是不是所有以'/'开头的访问在没有确切匹配时都能执行?use件又 ...

  8. 总结javascript中的全局变量和局部变量的区别以及声明函数和调用函数的区别

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="utf-8&quo ...

  9. C#中方法的声明

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

随机推荐

  1. LINUX下getsockopt和setsockopt函数

    这两个函数仅用于套接字. 函数原型: #include <sys/socket.h> #include <sys/types.h> int getsockopt(int soc ...

  2. .Net下简单地实现MD5加密

    在.Net中为我们提供了一个方法HashPasswordForStoringInConfigFile,可以简单方便地实现MD5加密.该方法位于System.Web命名空间下,所以需要在引用中添加Sys ...

  3. [转载]Android中WebView自适应屏幕

    webview中右下角的缩放按钮能不能去掉 settings.setDisplayZoomControls(false); //隐藏webview缩放按钮 让Webview加载的页面居中显示有我知道的 ...

  4. Android项目---常用动画

    在项目中经常会有闪屏的效果 在这里主要是通过定时器,将已经设定好的效果展现出来 /* * 2.5秒以后开始执行Runnable的run方法 */ new Handler().postDelayed(n ...

  5. oracle存储过程代码覆盖率统计工具

    目前针对于高级语言如C++,JAVA,C#等工程都有相关的代码覆盖率统计工具,但是对于oracle存储过程或者数据库sql等方面的项目,代码覆盖率统计和扫描工具相对较少. 因此针对这种情况,设计了代码 ...

  6. SAX解析XML文件实例代码

    import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; ...

  7. chrome切换hosts插件 hostsadmin

    chrome切换hosts插件 hostsadmin 时间 2013-07-16 10:49:09  网络进行时原文  http://www.netingcn.com/chrome-hostsadmi ...

  8. LevelDB架构

    LevelDB系列之整体架构   LevelDb本质上是一套存储系统以及在这套存储系统上提供的一些操作接口.为了便于理解整个系统及其处理流程,我们可以从两个不同的角度来看待LevleDb:静态角度和动 ...

  9. [每日一题] OCP1z0-047 :2013-07-29 视图――别名

    本题的考点是如何创建视图,对于视图的详细知识点,可以参考我的博客: http://blog.csdn.net/guoyjoe/article/details/8614677 好,接下来我们来做测试,先 ...

  10. socket网络编程快速上手(二)——细节问题(5)(完结篇)

    6.Connect的使用方式 前面提到,connect发生EINTR错误时,是不能重新启动的.那怎么办呢,是关闭套接字还是直接退出进程呢?如果EINTR前,三次握手已经发起,我们当然希望链路就此已经建 ...