Objective-C 面向对象编程详解
1. 消息传递
在 Objective-C 中,消息发送操作使用方括号括起来。消息的目标(接收者)放在左边,消息及其参数穿插其中放在右边。例如:
[myObject drawLineFromX: 100 Y: 120 toX: 140 Y: 120 weight: 2 color: redColor];
与 C 风格语言的函数名不同,Objective-C 的消息名会穿插参数,每个参数前有冒号。且消息名的任何部分都不可选,顺序也不能改变。
消息传递和方法调用的对比如下:
| 对比项 | Objective-C 消息传递 | C 风格方法调用 |
| ---- | ---- | ---- |
| 语法 | [接收者 消息: 参数1 : 参数2 …] | 接收者.方法(参数1, 参数2 …) |
| 示例 | [myObject drawLineFromX: 100 Y: 120 toX: 140 Y: 120 weight: 2 color: redColor]; | myObject.drawLine(100, 120, 140, 120, 2, redColor); |
| 特点 | 参数含义清晰,无需查看头文件或文档 | 不查看文档难以明确参数含义 |
Objective-C 允许将函数或其他消息的结果直接作为参数或接收者,如 [[MyObject alloc] init] 或以下深度嵌套消息:
Objective-C面向对象核心详解
超级会员免费看
订阅专栏 解锁全文
6

被折叠的 条评论
为什么被折叠?



