【《Objective-C基础教程 》笔记ch03】(三)间接indirection与OOP

简介: 一、什么是间接         1、在代码中通过指针间接获得某个值,而不是直接获取。         2、间接的本质是告诉我们从哪里获得需要的数据。 二、间接的反面——面向过程式编程         1、在过程式编程中,你决定使用什么函数,然后直接(非间接)调用它并传递这个函数所需要的数据给它。

一、什么是间接

        1、在代码中通过指针间接获得某个值,而不是直接获取。

        2、间接的本质是告诉我们从哪里获得需要的数据。


二、间接的反面——面向过程式编程

        1、在过程式编程中,你决定使用什么函数,然后直接(非间接)调用它并传递这个函数所需要的数据给它。

        2、比如小明吃饭洗澡睡觉,要实现这个东东,直接可以这么做:

             1)分别定义动作如下,

             -void eat(){}

             -void wash(){}

             -sleep(){}

            2)接下来小明可以吃饭洗澡睡觉咯:eat();    wash();      sleep();

 

三、OOP与间接

         1、间接是OOP的核心,OOP用间接来获取数据。

         2、OOP使用间接来调用代码,不是直接调用某个函数,而是间接调用。


四、OOP的实现

         1、类——一种表示对象类型的结构体。

         2、对象——一种包含值和指向其类的隐藏指针的结构体。

         3、实例——是“对象”的另一种称呼。

         4、消息——是对象可以执行的操作,用于通知对象去做什么。

         5、方法——是为响应消息而运行的代码。

         6、方法调度——用于推测执行什么方法以响应某个特定消息的机制。 

         7、接口——描述了一类 “对象”的特性。

         8、实现——使“接口”能够正常工作的代码。

         


五、发送消息、方法调度、方法执行、处理消息








相关文章
|
存储 Java C语言
objective-c基础教程——学习小结
objective-c基础教程——学习小结   提纲: 简介 与C语言相比要注意的地方 objective-c高级特性 开发工具介绍(cocoa 工具包的功能,框架,源文件组织;XCode使用介绍) 简介: 1.       objective-c是C语言的一个扩展集,主要由APPLE公司维护,是MAC系统下的主要开发语言。
1121 0
|
JavaScript C++ iOS开发
Objective-C 入门笔记
简介 建立在C语言之上,可以混编C/C++代码,编写一个类需要二个文件: .h的头文件 .m的实现文件(如果是C/C++混编文件,文件后缀为.mm) 既然有头文件,所以很多人会拿它与C++进行类比,它最重要的三个特性是:Message、Category、Protocol,与C++类比,二者之...
926 0
|
API iOS开发 Swift
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记9 Objective-c Compatibility
我们都知道在Swift诞生之前进行IOS开发一直使用Objective-c这门语言。OC和Swift之间需要一个桥接。
845 0
|
C语言 C++ iOS开发
【《Objective-C基础教程 》笔记ch02】(一)Hello Object-C 项目
一、项目实现步骤。 1、若xcode尚未运行,先启动它。 2、选择Select File --> New --> New Project菜单选项。 3、选择左边OS X下得application,再选中右边的command line tool,点击next。
988 0
|
iOS开发
【《Objective-C基础教程 》笔记ch02】(二)Boolean类型及实例
一、布尔类型         布尔类型是一种对带符号的字符类型(signed char)的类型定义,使用8位的存储空间。         通过#define指令把YES定义为1,NO定义为0,都是8位的二进制数。
969 0
|
3月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
91 2
|
3月前
|
安全 JavaScript 前端开发
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
65 0
|
机器学习/深度学习 API iOS开发
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(一)
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(一)
140 0
|
存储 自然语言处理 Java
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(二)
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(二)
218 0