10、Objective-C语言特性深度解析

Objective-C语言特性深度解析

1. 面向对象与消息传递

在一些编程语言中,一切皆为对象,像数字字面量、字符字面量等。但在Objective - C(以及C++、C#和Java等)里,存在非对象的字面量类型。例如在Smalltalk中,“3”是一个对象,你可以写 3 timesDo: [ drawSomething ] ,而在Objective - C里原本并非如此,不过借助新的字面量语法,类似行为也能实现,如 [@3 description] 会返回 @"3"

“面向对象编程”这一术语源于软件行业的一个发现,即过程式编程无法满足所有软件项目的需求。当时,任何支持对象概念的语言都被视为“面向对象”。如今,除了新的函数式语言,多数新语言被称为面向对象,主要是因为它们基于类、子类化以及接口或协议等概念,拥有内置的可扩展对象系统。

Objective - C和Smalltalk有个显著特性:消息传递。消息和消息传递的概念深深融入了Objective - C和Smalltalk,将它们看作面向消息的编程语言很合适。下面详细看看消息传递机制。

1.1 发送消息

从开发者角度,使用方括号语法向接收者发送消息。实际上,编译器会把Objective - C的方括号语法转换为C函数调用。例如下面两行代码是等价的,但你通常无需自己调用 objc_msgSend

[receiver someSelector];
objc_msgSend(recei
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值