- 3
- 0
- 约8.89千字
- 约 7页
- 2018-12-31 发布于天津
- 举报
Cocoa编程之新手上路第二课.PDF
渤麦堂 /modules/sdcection/print.php?articl...
Cocoa编程之新手上路:第二课
我们在上一课里制作了一个简单的程序,我们学习了:
用Project Builder (PB) 建立新的 project
用 Interface Builder (IB) 设计程序界面
生成类,定义 outlet (插头)和action (动作).
连接界面和程序的执行代码 (connection).
现在我们来籍此分析一下其背后的Cocoa 面向对象编程思想。
图2-1 界面(interface) 和 内部构造(implementation) 的隔离的例子
来看一个现实世界中的一个机械钟表 ( 图2-1),对于一个使用者来说,他所看
到的的只是一个时间显示,一个界面(interface), 他看不到也不关心这个钟表
的内部是如何构造来实现报时的功能,钟表的界面(interface) 把内部机构
(implementation) 屏蔽隔离开来,只有钟表的制作者知道并关心内部的构
造,他的责任就是让钟表提供给用户一个实现报时的功能的界面,并把内部
的实际构造(implementation) 封装起来,使外界看不到。
拿到程序设计中,我们就是钟表匠,我们用程序语言来描述钟表这样这样一
个能报时的物体,(这个过程叫抽象(abstraction),就是抛开表面的细节,抓
住事物的本质,因果关系,这是我们人类认识世界的方法)。我们要使用户
能通过与这个“物体”的交互得到需要的功能(指示时间),而我们作为制作
者要把内部的实施部分隔离开来,因为用户不关心内部的构造。这时我们可
以把这样的一个物体叫做”对象“ (object).
一个对象(object) 包含一定的行为或功能(function )和实现这些功能的内部
结构(structure),内部的结构(数据结构)是封装起来的,外界看不到,在这
个对象的内部,外界只能通过得到这个对象的行为或功能。这些功能叫做这
个对象的方法(method) , 而内部的数据结构就叫做他的实例变量(instance
variable). 方法把内部的实例变量(数据部分)包裹起来,使之与外界隔离。
图 2-2 一个对象 (object)
第1页共7页 2007-6-5 22:45
渤麦堂 /modules/sdcection/print.php?articl...
object = instance variables + instance methods
一个程序里有很多的object, 他们之间的通讯是相互之间传递消息
(message ). 当一个对象接受到其他对象传递来的消息时,就会相形的执行
自己内部的方法(method).
Objective-C 不同于其他面向对象语言(如 C++) 的一个显著特点是,它不需
要你事先知道要传递给消息的对象是哪个类的,这叫做动态绑定(动态捆
绑)或运行时绑定,也就是说消息会在运行的时候才被和对象绑到一块(结
合),而不是在编译的时候去做绑定。这样的好处是非常的灵活,给予程序
员极大的自由度。比如,我们要在一个文本编辑程序中截取(cut) 文本或图
片或表格等,程序不必事先知道要发送 cut:消息给那一类的目标对象。
objective -C 里面,用一个id变量来表示一个对象,(既 id object 这样的格
式),实际上就是一个指向内存中的对象数据。objective -C运行的时候会检
查核对这个id 指针到底指向那一类的对象。
您可能关注的文档
- 2600下方需震荡整固后市仍有反弹空间.PDF
- 3405工作面沿空留巷切顶爆破钻孔与高位瓦斯抽采钻孔的位.PDF
- 5403土建施工类.PDF
- A02-纳米材料与新能源.PDF
- ADI公司的革命性MEMS开关技术基本原理.PDF
- anditsSocialConsequence流行文化及其社会后果社会工.ppt
- and爄s爁or爑se爋utside炉he燯K爋nly.PDF
- AP化学和普高化学课程实施的对比与分析.PDF
- ArcSoft虹软彩信通用户手册.PDF
- askifyoucouldbringafriend.如果你必须在我之前死去,麻.ppt
- 25-26学年政治(部编版)选择性必修第二册课件:第1单元 周清1 民法中的人身权及财产权.pptx
- 25-26学年政治(部编版)选择性必修第二册课件:1.4.1 权利保障 于法有据.pptx
- 2025北京丰台区高二(上)期中地理(A卷)含答案.docx
- 2025北京三帆中学初三(上)开学考英语试题含答案.docx
- 2025北京一零一中初三9月月考语文试题含答案.docx
- 2025北京海淀区初三(上)期中道法试题含答案.docx
- 2025北京丰台区高一(上)期中政治(A卷)含答案.docx
- 25-26学年政治统编版必修4课件:3.3 唯物辩证法的实质与核心.pptx
- 25-26学年政治统编版必修4课件:7.2 正确认识中华传统文化.pptx
- 湖北省部分高中2026届高三上学期二模联考 历史试卷.docx
原创力文档

文档评论(0)