从C++到Objective-C:苹果开发之旅
"《From C++ to Objective-C》是一本由Pierre Chatelier编写的书籍,旨在帮助熟悉C++的开发者理解和学习Objective-C,特别是从C++的角度来探讨Objective-C的特性和Cocoa框架。该书由Aaron Vegh进行英文改编,并在作者的网站上提供修订历史记录。书中涉及了Objective-C的基础语法、历史、类型系统以及方法与函数的区别等关键概念。" Objective-C是一种面向对象的编程语言,主要被用于Apple的Mac OS X和iOS操作系统开发,尤其是与Cocoa框架结合使用时。这本书《From C++ to Objective-C》通过对比C++,深入浅出地介绍了Objective-C的各个方面,帮助开发者快速过渡。 1. Objective-C和Cocoa:Objective-C是C语言的扩展,添加了面向对象的特性,如消息传递和类。Cocoa是Apple提供的开发框架,包含了一系列的类库,用于构建Mac和iOS应用程序。Objective-C是实现Cocoa编程的主要语言。 2. 短历史:Objective-C起源于80年代初,由Stepanov和McCarthy在C的基础上设计,后来被NeXT公司采用并发展为NeXTSTEP操作系统的一部分。Apple收购NeXT后,Objective-C成为了Mac OS X的主要编程语言。 3. 语法概述: - 关键字:Objective-C有一些特定的关键字,如`@interface`, `@implementation`, `@protocol`, `@class`等,用于定义类、实现和协议。 - 注释:Objective-C支持C风格的注释,包括单行`//`和多行`/* */`。 - 混合代码和声明:Objective-C允许在同一个文件中混合声明和实现,这是它与C++的一个显著区别。 - 新类型和值: - `BOOL`:Objective-C中的布尔类型,通常用`YES`和`NO`表示真和假,它们是宏定义。 - `nil`, `Nil` 和 `id`:`nil`用于指针类型的null,`Nil`用于类指针,`id`是通用对象指针类型,可以指向任何对象。 - `SEL`:选择器类型,表示方法的名称。 4. 类名中的"NS":"NS"是"NextSTEP"的缩写,许多Cocoa类的名字前缀为"NS",以追溯其历史根源。 5. 函数与方法的区别:Objective-C中的方法是面向对象的概念,通过消息传递机制调用,而函数是传统的过程式编程中的函数调用。方法调用更符合面向对象的思想,能够更好地封装和复用代码。 此书通过这些基础知识的讲解,不仅介绍了Objective-C的基本语法,还帮助读者理解Objective-C如何与C++相融合,以及在实际开发中如何利用Cocoa框架构建应用。对于想要从C++转向Objective-C的开发者来说,这是一份宝贵的资源。
![](https://csdnimg.cn/release/download_crawler_static/3095370/bga.jpg)
![](https://csdnimg.cn/release/download_crawler_static/3095370/bgb.jpg)
剩余54页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 3
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 构建Cadence PSpice仿真模型库教程
- VMware 10.0安装指南:步骤详解与网络、文件共享解决方案
- 中国互联网20周年必读:影响行业的100本经典书籍
- SQL Server 2000 Analysis Services的经典MDX查询示例
- VC6.0 MFC操作Excel教程:亲测Win7下的应用与保存技巧
- 使用Python NetworkX处理网络图
- 科技驱动:计算机控制技术的革新与应用
- MF-1型机器人硬件与robobasic编程详解
- ADC性能指标解析:超越位数、SNR和谐波
- 通用示波器改造为逻辑分析仪:0-1字符显示与电路设计
- C++实现TCP控制台客户端
- SOA架构下ESB在卷烟厂的信息整合与决策支持
- 三维人脸识别:技术进展与应用解析
- 单张人脸图像的眼镜边框自动去除方法
- C语言绘制图形:余弦曲线与正弦函数示例
- Matlab 文件操作入门:fopen、fclose、fprintf、fscanf 等函数使用详解
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)