登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』Objective-C 程序设计(第4版)(全球最畅销Objective-C编程书籍)

書城自編碼: 1980772
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]Stephen
國際書號(ISBN): 9787121180910
出版社: 电子工业出版社
出版日期: 2012-09-01
版次: 1 印次: 1
頁數/字數: 499/614000
書度/開本: 16开 釘裝: 平装

售價:NT$ 846

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
东法西渐:19世纪前西方对中国法的记述与评价
《 东法西渐:19世纪前西方对中国法的记述与评价 》

售價:NT$ 918.0
养育男孩:官方升级版
《 养育男孩:官方升级版 》

售價:NT$ 230.0
小原流花道技法教程
《 小原流花道技法教程 》

售價:NT$ 500.0
少女映像室 唯美人像摄影从入门到实战
《 少女映像室 唯美人像摄影从入门到实战 》

售價:NT$ 505.0
詹姆斯·伍德系列:不负责任的自我:论笑与小说(“美国图书评论奖”入围作品 当代重要文学批评家詹姆斯·伍德对“文学中的笑与喜剧”的精湛研究)
《 詹姆斯·伍德系列:不负责任的自我:论笑与小说(“美国图书评论奖”入围作品 当代重要文学批评家詹姆斯·伍德对“文学中的笑与喜剧”的精湛研究) 》

售價:NT$ 398.0
武当内家散手
《 武当内家散手 》

售價:NT$ 230.0
诛吕:“诸吕之乱”的真相与吕太后时期的权力结构
《 诛吕:“诸吕之乱”的真相与吕太后时期的权力结构 》

售價:NT$ 454.0
炙野(全2册)
《 炙野(全2册) 》

售價:NT$ 356.0

建議一齊購買:

+

NT$ 531
《 iOS 7开发快速入门 》
+

NT$ 1014
《 精通iOS开发(第5版)(创造销售奇迹的经典著作《iOS 5基础教程》的最新版,累计销量5万余册) 》
+

NT$ 921
《 iOS开发指南:从零基础到App Store上架【国内第一本iOS架构设计图书,涵盖iOS平台架构设计、测试驱动开发、性能优化、版本控制和程序调试等内容 】 》
+

NT$ 456
《 Objective-C高级编程:iOS与OS X多线程和内存管理(苹果源代码不会告诉你的Objective-C高级编程) 》
內容簡介:
这是一本Objective-C编程领域最畅销的书籍,内容涵盖Xcode 4.2和自动引用计数(ARC)。
本书详细介绍了Objective-C和苹果iOS、Mac平台面向对象程序编程的知识。本书作者假设读者没有面向对象程序语言或者C语言(Objective-C基础)编程经验,因此,初学者和有经验的程序员都可以使用这本书学习Objective-C。读者不需要先学习底层的C语言编程,就可以了解面向对象编程。
本书结合独特的学习方法,在每章都编写有大量的小程序例子和练习,使Objective-C程序设计适合于课堂教学和自学。
本书已经为iOS 5和Xcode
4.2中的重大变更做了全面更新,最大的改动是引入了自动引用计数(ARC),并详细说明了如何在Objective-C编程过程中使用ARC提升和简化内存管理。
關於作者:
Stephen Kochan是多本畅销书的作者或合著者,其中有关于C语言的,包括《Programming in
C》(Sams,2004)、《Programming in ANSI
C》(Sams,1994)和《Topics in C
Programming》(Wiley,1991),也有关于UNIX的,包括《Exploring the
UNIX System》(Sams,1992)和《Unix Shell
Programming》(Sams,2003)。从1984年Mac最初引进时,他就已经在Macintosh计算机上编程了,他编写的《Programming
C for the Mac》是Apple Press
Library的一部分。2003年,Kochan编写了《Programming
in Objective-C》(Sams,2003),之后编写了另一本与Mac有关的书籍《Befinning
AppleScript》(Wiley,2004)。
目錄
1 引言
1.1 本书内容
1.2 本书组织方式
1.3 支持
1.4 致谢
1.5 第4版前言
2 Objective-C编程
2.1 编译并运行程序
2.1.1 使用Xcode
2.1.2 使用Terminal
2.2 解释第一个程序
2.3 显示变量的值
2.4 小结
2.5 练习
3 类、对象和方法
3.1 到底什么是对象
3.2 实例和方法
3.3 用于处理分数的Objective-C类
3.4 @interface部分
3.4.1 选择名称
3.4.3 类方法和实例方法
3.5 @implementation部分
3.6 program部分
3.7 实例变量的访问及数据封装
3.8 小结
3.9 练习
4 数据类型和表达式
4.1 数据类型和常量
4.1.1 int类型
4.1.2 float类型
4.1.3 char类型
4.1.4 限定词:long、long long、short、unsigned及signed
4.1.5 id类型
4.2 算术表达式
4.2.1 运算符的优先级
4.2.2 整数运算和一元负号运算符
4.2.3 模运算符
4.2.4 整型值和浮点值的相互转换
4.2.5 类型转换运算符
4.3 赋值运算符
4.4 Calculator类
4.5 练习
5 循环结构
5.1 for语句
5.1.1 键盘输入
5.1.2 嵌套的for循环
5.1.3 for循环的变体
5.2 while语句
5.3 do语句
5.4 break语句
5.5 continue语句
5.6 小结
5.7 练习
6 选择结构
6.1 if语句
6.1.1 if-else结构
6.1.2 复合条件测试
6.1.3 嵌套的if语句
6.1.4 else if结构
6.2 switch语句
6.3 Boolean变量
6.4 条件运算符
6.5 练习
7 类
7.1 分离接口和实现文件
7.2 合成存取方法
7.3 使用点运算符访问属性
7.4 具有多个参数的方法
7.4.1 不带参数名的方法
7.4.2 关于分数的操作
7.5 局部变量
7.5.1 方法的参数
7.5.2 static关键字
7.6 self关键字
7.7 在方法中分配和返回对象
7.8 练习
8 继承
8.1 一切从根类开始
8.2 通过继承来扩展:添加新方法
8.2.1 Point类和对象创建
8.2.2 @class指令
8.2.3 具有对象的类
8.3 覆写方法
8.4 抽象类
8.5 练习
9 多态、动态类型和动态绑定
9.1 多态:相同的名称,不同的类
9.2 动态绑定和id类型
9.3 编译时和运行时检查
9.4 id数据类型与静态类型
9.5 有关类的问题
9.6 使用@try处理异常
9.7 练习
10 变量和数据类型
10.1 对象的初始化
10.2 作用域回顾
10.2.1 控制实例变量作用域的指令
10.2.2 全局变量
10.2.3 静态变量
10.3 枚举数据类型
10.4 typedef语句
10.5 数据类型转换
10.6 位运算符
10.6.1 按位与运算符
10.6.2 按位或运算符
10.6.3 按位异或运算符
10.6.4 一次求反运算符
10.6.5 向左移位运算符
10.6.6 向右移位运算符
10.7 练习
11 分类和协议
11.1 分类
11.2 类的扩展
11.3 协议和代理
11.3.1 代理
11.3.2 非正式协议
11.4 合成对象
11.5 练习
12 预处理程序
12.1 #define语句
12.2 #import语句
12.3 条件编译
12.3.1 #ifdef、#endif、#else和#ifndef语句
12.3.2 #if和#elif预处理程序语句
12.3.3 #undef语句
12.4 练习
13 基本的C语言特性
13.1 数组
13.1.1 数组元素的初始化
13.1.2 字符数组
13.1.3 多维数组
13.2 函数
13.2.1 参数和局部变量
13.2.2 函数的返回结果
13.2.3 函数、方法和数组
13.3 块(Blocks)
13.4 结构
13.4.1 结构的初始化
13.4.2 结构中的结构
13.4.3 关于结构的补充细节
13.4.4 不要忘记面向对象编程思想
13.5 指针
13.5.1 指针和结构
13.5.2 指针、方法和函数
13.5.3 指针和数组
13.5.4 指针运算
13.5.5 指针和内存地址
13.6 它们不是对象
13.7 其他语言特性
13.7.1 复合字面量
13.7.2 goto语句
13.7.3 空语句
13.7.4 逗号运算符
13.7.5 sizeof运算符
13.7.6 命令行参数
13.8 工作原理
13.8.1 事实#1:实例变量存储在结构中
13.8.2 事实#2:对象变量实际上是指针
13.8.3 事实#3:方法是函数,而消息表达式是函数调用
13.8.4 事实#4:id类型是通用指针类型
13.9 练习
14 Foundation框架简介
14.1 Foundation文档
15 数字、字符串和集合
15.1 数字对象
15.2 字符串对象
15.2.1 NSLog函数
15.2.2 description方法
15.2.3 可变对象与不可变对象
15.2.4 可变字符串
15.3 数组对象
15.3.1 制作地址簿
15.3.2 数组排序
15.4 词典对象
15.4.1 枚举词典
15.5 集合对象
15.5.1 NSIndexSet
15.6 练习
16 使用文件
16.1 管理文件和:NSFileManager
16.1.1 使用NSData类
16.1.2 使用
16.1.3 枚举中的内容
16.2 使用路径:NSPathUtilities.h
16.2.1 常用的路径处理方法
16.2.2 复制文件和使用NSProcessInfo类
16.3 基本的文件操作:NSFileHandle
16.4 NSURL类
16.5 NSBundle类
16.6 练习
17 内存管理和自动引用计数
17.1 自动垃圾收集
17.2 手工管理内存计数
17.2.1 对象引用和自动释放池
17.3 事件循环和内存分配
17.4 手工内存管理规则的总结
17.5 自动引用计数(ARC)
17.6 强变量
17.7 弱变量
17.8 @autoreleasepool块
17.9 方法名和非ARC编译代码
18 复制对象
18.1 copy和mutableCopy方法
18.2 浅复制与深复制
18.3 实现<NSCopying>协议
18.4 用设值方法和取值方法复制对象
18.5 练习
19 归档
19.1 使用XML属性列表进行归档
19.2 使用NSKeyedArchiver归档
19.3 编码方法和解码方法
19.4 使用NSData创建自定义档案
19.5 使用归档程序复制对象
19.6 练习
20 Cocoa和Cocoa Touch简介
20.1 框架层
20.2 Cocoa Touch
21 编写iOS应用程序
21.1 iOS SDK
21.2 第一个iPhone应用程序
21.2.1 创建新的iPhone应用程序项目
內容試閱
实例变量的访问及数据封装
你已经看到处理分数的方法如何通过名称直接访问两个实例变量numerator和denominator。事实上,实例方法总是可以直接访问它的实例变量的。然而,类方法则不能,因为它只处理本身,并不处理任何类实例(仔细想想)。但是,如果要从其他位置访问实例变量,例如,从main函数内部来访问,该如何实现?在这种情况下,不能直接访问这些实例变量,因为它们是隐藏的。将实例变量隐藏起来的这种做法实际上涉及一个关键概念——“数据封装”。它使得编写定义的人在不必担心程序员(即类的使用者)是否破坏类的内部细节的情况下,扩展和修改其定义。数据封装提供了程序员和其他开发者之间的良好隔离层。
通过编写特殊方法来检索实例变量的值,可以用一种新的方式来访问它们。编写setNumerator:和setDenominator:方法用于给Fraction类的两个实例变量设定值。为了获取这些实例变量的值,我们需要编写新的方法。例如,创建两个名为numerator和denominator的新方法,用于访问相应的Fraction实例变量,这些实例是消息的接收者。结果是对应的整数值,你将返回这些值。以下是这两个新方法的声明:
–int numerator;
–int denominator;
下面是定义:
–int numerator
{
return numerator;
}
–int denominator
{
return denominator;
}
注意,它们访问的方法名和实例变量名是相同的,这样做不存在任何问题(虽然似乎有些奇怪)。事实上,这是很常见的情况。代码清单3-4用来测试这两个新方法。
代码清单3-4
访问实例变量的程序 – cont''d
#import FoundationFoundation.h
---- @interface 部分 ----
@interface Fraction: NSObject
-void print;
-void setNumerator: int n;
-void setDenominator: int d;
-int numerator;
-int denominator;
@end
---- @implementation 部分 ----
@implementation Fraction
{
int numerator;
int denominator;
}
-void print
{
NSLog @"%i%i", numerator, denominator;
}
-void setNumerator: int n
{
numerator = n;
}
-void setDenominator: int d
{
denominator = d;
}
-int numerator
{
return numerator;
}
-int denominator
{
return denominator;
}
@end
---- program 部分 ----
int main int argc, char *argv[]
{
@autoreleasepool {
Fraction *myFraction =
[[Fraction alloc] init];
设置分数为13
[myFraction setNumerator:
1];
[myFraction setDenominator: 3];
使用两个新的方法显示分数
NSLog @"The value of myFraction
is: %i%i",

[myFraction numerator], [myFraction denominator];
}
return 0;
}
代码清单3-4 输出
The value of myFraction is 13

NSLog语句显示发送给myFraction:的两条消息的结果,第一条消息检索numerator的值,第二条则检索denominator的值。
NSLog @"The value of myFraction is: %i%i",
[myFraction numerator], [myFraction
denominator];
在第一条消息调用时,numerator消息会发送给Fraction类的对象myFraction。在这个方法中,分数中numerator的实例变量的值被返回。记住,方法执行的上下文环境就是接收到消息的对象。当访问numerator方法并且返回numerator实例变量值的时候,会取得myFraction的分子并返回,返回的整数传入NSLog,从而显示出来。第二条消息调用时,denominator方法会被调用并返回myFraction的分母,它仍通过NSLog显示。
顺便说一下,设置实例变量值的方法通常总称为设值方法(setter),而用于检索实例变量值的方法叫做取值方法(getter)。对Fraction而言,setNumerator:和setDenominator:是设值方法,numerator和denominator是取值方法。取值方法和设值方法通常称为访问器(accessor)方法。
确定你已经理解了设值方法和取值方法的不同。设值方法不会返回任何值,因为其主要目的是将方法参数设为对应的实例变量的值。在这种情况下并不需要返回值。另一方面,取值方法的目的是获取存储在对象中的实例变量的值,并通过程序返回发送出去。基于此目的,取值方法必须返回实例的值作为return的参数。
你不能在类的外部编写方法直接设置或获取实例变量的值,而需要编写设值方法和取值方法来设置或获取实例变量的值,这便是数据封装的原则。你必须通过使用一些方法来访问这些通常对“外界”隐藏的数据。这种做法集中了访问实例变量的方式,并且能够阻止其他一些代码直接改变实例变量的值。如果可以直接改变,会让程序很难跟踪、调试和修改。
这里还应指出,还有一个名为new的方法可以将alloc和init的操作结合起来。因此,程序行
Fraction *myFraction = [Fraction new];
可用于创建和初始化新的Fraction。但用两步来实现创建和初始化的方式通常更好,这样可以在概念上理解正在发生两个不同的事件:首先创建一个对象,然后对它初始化。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.