Objective-C类-Objective-C 具有多个参数的方法
来源:互联网 发布:常用控制算法 编辑:程序博客网 时间:2024/05/16 09:31
我们继续就《Objective-C 分离接口和实现文件》一文中的 Fraction 类说事。如果有一个方法能够只用一条消息即可设置 numerator 同时又可设置 denominator,那该有多好啊!没问题,通过列出每个连续的方法并用冒号将其连起来,就可以定义一个接受多个参数的方法。用冒号连接的参数将成为这个方法名的一部分。例如,方法名 addEntryWithName: andEmail: 表示接收两个参数的方法,这两个参数可能是姓名和电子邮件地址。方法 addEntryWithName: andEmail: andPhone: 是接收以下 3 个参数的方法,一个姓名,一个电子邮件地址和一个电话号码。
同时设置 numerator 和 denominator 的方法可以命名为 setNumerator: andDenominator: 你可以采取以下形式:
[myFraction setNumerator: 1 andDenominator: 3];
这种方法还不错。实际上,这是命名方法的首选方式。但是必须为方法指定更易阅读的名称。例如:一种更通用的做法,setTo: over: 它可读性会比前面来得更强。
[myFraction setTo: 1 over: 3];
接下来,让我们把这个新方法应用到 Fraction.h 中去:
01 #import <Foundation/Foundation.h>
02
03// Define the Fraction class
04
05@interface Fraction: NSObject
06{
07 int numerator;
08 int denominator;
09}
10
11@property int numerator, denominator;
12
13-(void) print;
14-(void) setTo: (int) n over: (int) d;
15-(double) convertToNum;
16
17@end
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
然后,在实现文件中添加新方法定义:
01 #import "Fraction.h"
02
03@implementation Fraction
04
05@synthesize numerator, denominator;
06
07-(void) print
08{
09 NSLog (@"%i/%i", numerator, denominator);
10}
11
12-(double) convertToNum
13{
14 if (denominator != 0)
15 return (double) numerator / denominator;
16 else
17 return 1.0;
18}
19
20-(void) setTo: (int) n over: (int) d
21{
22 numerator = n;
23 denominator = d;
24}
25
26@end
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
最后,在 main.m 中应用它:
01 #import "Fraction.h"
02
03int main (int argc, const char * argv[])
04{
05 NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
06 Fraction *aFraction = [[Fraction alloc] init];
07
08 [aFraction setTo: 100 over: 200];
09 [aFraction print];
10
11 [aFraction setTo: 1 over: 3];
12 [aFraction print];
13 [aFraction release];
14
15 [pool drain];
16 return 0;
17}
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
范例 7-2 完成,最终输出结果如下:
100/200
1/3
苹果开发者 Mike 在 CSDN 上传的源代码地址。
- Objective-C类-Objective-C 具有多个参数的方法
- Objective-C类-Objective-C 方法的参数
- Objective-C关于含有多个参数的类对象方法的定义及实现
- Objective-C 一个方法如何传递多个参数?
- objective-c 方法带参数的使用
- Objective-C - 对象作为方法的参数
- Objective-c - block作为方法的参数
- Objective-C中一个方法如何传递多个参数的理解
- objective-c 中定义多参数的方法
- objective-c 多参数方法的定义与调用
- objective-c 多参数方法的定义与调用
- [Objective-C] 为什么Objective-C不支持类的私有方法
- objective-c 中具有对象的类的操作方法
- Objective-c下具有下载功能的NSURLCache类CustomURLCache
- Objective C 类方法
- objective-c 类方法
- objective-c 类方法
- Objective-C 类方法
- DDraw笔记-高彩模式
- 如果视图或等等,速度很慢的解决办法
- word
- 如何查找你的mac地址
- Objective-C类-Objective-C 合成存取器方法
- Objective-C类-Objective-C 具有多个参数的方法
- SQL Server 2008中使用FileStream存取大文件
- Objective-C类-对分数进行加法操作
- 缓存穿透与缓存雪崩
- linq实例 - Group的使用
- Objective-C类-Objective-C 局部变量简述
- Objective-C类-Objective-C 方法的参数
- DDraw笔记-创建表面
- Objective-C类-Objective-C 局部静态变量 static