iOS APP 开发 OC 第六天, 方法的声明实现和调用

tags: OC 30 day


类事物不仅具有相同的特徵还具有相同的行为。
行为就是一个功能,C语言中使用函数来表示一个功能。
OC的类具有的行为,我们使用方法来表示..

方法和函数都代表一个功能。

1. 声明

a. 位置: 在@interface的大括弧外面
b. 语法:

    - (返回值类型)方法名称;
    - (void)run;
    表示声明一个唔返回值并且无参数的方法,方法名称叫run。

2. 实现

a. 位置:在implementation之中实现。
b. 实现的语法:
将方法的声明拷贝到@implemention之中,去掉分号。追加大括号一对,将方法实现的代码写在大括弧之中。

3. 调用

a. 方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象。那麽这个对象中就有类中的属性和方法了,就可以跳用对象的方法了。
b. 调用对象的方法:

[对象名 方法名]

4. 带一个参数的方法

  1. 声明
    a. 位置:在@interface的大括弧的外面。
    b. 语法:
-(返回值类型)方法名称:(参数类型)形参名称;
-(void)eat:(NSString *)foodName;

定义了一个方法,这个方法没有返回值。
这个方法的名字叫做eat:
这个方法有一个参数,类型是NSString *类型的 参数名称叫做foodName
2. 实现
a. 位置:在implementation之中实现。
b. 实现的语法:
将方法的声明拷贝到@implemention之中,去掉分号。追加大括号一对,将方法实现的代码写在大括弧之中。
3. 调用
a. 方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象。那麽这个对象中就有类中的属性和方法了,就可以跳用对象的方法了。
b. 调用的语法:

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

方法头中的数据类型都要用一个小括弧刮起来。

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

5. 带多个参数的方法

  1. 声明
    a. 位置:在@interface的大括弧的外面。
    b. 语法:
-(返回值类型)方法名称:(参数类型)形参名称1 :(参数类型)形参名称2 :(参数类型)形参名称3;
-(int)sum:(int)num1 :(int)num2;

表示声明了一个方法,这个方法的反回值是int类型的。
这个方法的名字叫做sum: :
这个方法有两个参数,类型都是int类型的 参数名称叫做 num1 num2
2. 实现
a. 位置:在implementation之中实现。
b. 实现的语法:
将方法的声明拷贝到@implemention之中,去掉分号。追加大括号一对,将方法实现的代码写在大括弧之中。
3. 调用
a. 方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象。那麽这个对象中就有类中的属性和方法了,就可以跳用对象的方法了。
b. 调用带多个参数的语法:

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

方法头中的数据类型都要用一个小括弧刮起来。

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

6. 带参数的方法声明的规范:

  1. 如果方法只有一个参数,规范要求最好这个方法的名字叫做 xxxWith: 这样写的话,可以提高程序码的可读性。
  2. 如果方法有多个参数,建议这个方法命名:
    方法名With:(参数类型)参数名称 and:(参数类型)参数名称 and:(参数类型)参数名称;

<<:  Day55. 访问者模式

>>:  [ Day 37 ] - 在 Github Release 上发布我们的安装档

Day 6 不免俗的来个 Hello World Docker

Docker 官方制作了一个有趣的 Hello-world docker 映像档,现在就来拉取下来跑...

Rails基本介绍(一)一个实体 && Remove Duplicates from Sorted Array && Remove Element

惯例 这篇先解题分享。 怕来不及打完,这样比较好修改...科科 Remove Duplicates ...

事件检视器的使用介绍(二)--事件分类与筛选

今天要来分析各日志档的内容跟类型的判别,也来看一点Event ID(事件识别码)查一点小事件,Win...

Day 17. slate × Immutable

接着我们要进入到 slate 的下一个重点章节: Immutability 。 虽然这已经算是一个...

[Day25] 程序码重构

接下来要回去弄日K交易策略,先把网格交易机器人打包起来独立成一个档案,还有把登入的部分打包起来,未来...