Objective-C基础教程:面向对象编程入门

版权申诉
0 下载量 32 浏览量 更新于2024-08-21 收藏 390KB PDF 举报
"此资源为Objective-C的基础教程,适合熟悉面向对象编程的读者。教程介绍了Objective-C的基本语法,包括它如何基于ANSI C并融合Smalltalk的特性,以及 Objective-C 的头文件、数据类型如NSString,类(Class)的定义与使用,特别是强类型和弱类型实例的差异。" Objective-C是一门面向对象的编程语言,它建立在标准的ANSI C之上,并引入了Smalltalk的一些概念。这使得Objective-C既保留了C语言的底层控制能力,又具备了面向对象的特性。在Objective-C中,代码通常分为头文件(.h)用于声明接口,实现文件(.m)用于编写具体代码,有时还会使用C++兼容的文件(.mm)。 字符串处理在Objective-C中是非常重要的,字符串被定义为一个Class,即NSString。它支持可变长度和Unicode,可以通过`@`符号快速创建字符串对象。例如: ```objc NSString *string1 = @"conststring"; NSString *string2 = [NSString stringWithFormat:@"%d %d%@", 1, 2, @"hello string"]; ``` 在Objective-C中,类的定义分为接口(interface)和实现(implementation)。接口在头文件(.h)中声明,实现则在源文件(.m)中完成。以类的初始化方法为例,如`initWithUserName:`,它的返回类型通常是`id`。`id`在Objective-C中是一个特殊的类型,表示任何对象的指针,类似于C++中的void指针。 Objective-C的对象定义有两种方式:强类型(Strong typing)和弱类型(Weak typing)。强类型需要在定义时明确指定类名,而弱类型则不需要。例如: ```objc // 强类型(Strong typing) MYHelloWorld *myHelloWorld1; // 弱类型(Weak typing) id myObject; ``` 弱类型可以用于那些在编译时未知具体类的对象,提供了更大的灵活性,但同时也可能带来类型安全的问题,因为弱类型对象在使用时需要进行类型检查或转换。 Objective-C结合了C语言的效率和面向对象的抽象,通过特有的语法结构和数据类型,提供了一种强大的编程工具,特别适用于开发iOS和macOS应用。学习Objective-C的基础知识对于理解Apple的开发环境至关重要。
2017-11-28 上传
中文名: Objective-C基础教程 作者: Mark Dalrymple Scott Knaster译者: 高朝勤 杨越 刘霞图书 分类: 软件 资源格式: PDF 版本: 扫描版 出版社: 人民邮电出版社 书号: ISBN: 9787115208774 发行时间: 2009年08月 地区: 大陆 语言: 简体中文 简介: 内容简介 Objective-C是扩展C的面向对象编程语言,也是iPhone开发用到的主要语言。本书结合理论知识与示例程序,全面而系统地讲述Objective-C编程的相关内容,包括Objective-C在C的基础上引入的特性和Cocoa工具包的功能及其中的框架,以及继承、复合、源文件组织等众多重要的面向对象编程技术。附录中还介绍了如何从其他语言过渡到Objective-C。   本书适合各类开发人员阅读。 内容截图 目录: 第1章 启程.1 1.1 预备知识1 1.2 历史背景1 1.3 内容简介2 1.4 小结3 第2章 对C的扩展4 2.1 最简单的Objective-C程序4 2.2 解构HelloObjective-C程序7 2.2.1 #import7 2.2.2 NSLog()和@"字符串"8 2.3 布尔类型10 2.3.1 BOOL强大的实用功能11 2.3.2 比较13 2.4 小结14 第3章 面向对象编程基础知识15 3.1 间接15 3.1.1 变量与间接16 3.1.2 使用文件名的间接18 3.2 在面向对象的编程中使用间接24 3.2.1 过程式编程24 3.2.2 实现面向对象编程29 3.3 学习有关的术语33 3.4 Objective-C中的OOP34 3.4.1 @interface部分34 3.4.2 @implementation部分38 3.4.3 实例化对象40 3.4.4 扩展Shapes-Object41 3.5 小结43 第4章 继承45 4.1 为何使用继承45 4.2 继承语法48 4.3 继承的工作机制51 4.3.1 方法调度51 4.3.2 实例变量53 4.4 重写方法55 4.5 小结57 第5章 复合58 5.1 什么是复合58 5.1.1 Car程序58 5.1.2 自定义NSLog()59 5.2 存取方法62 5.2.1 设置发动机的属性64 5.2.2 设置轮胎的属性64 5.2.3 跟踪汽车的变化66 5.3 扩展CarParts程序67 5.4 复合还是继承68 5.5 小结69 第6章 源文件组织70 6.1 拆分接口和实现部分70 6.2 拆分Car程序73 6.3 使用跨文件依赖关系75 6.3.1 重新编译须知75 6.3.2 让汽车开动77 6.3.3 导入和继承79 6.4 小结80 第7章 深入了解Xcode82