Objective-C基础教程学习笔记(三)面向对象编程基础知识
2012-10-08 16:32
901 查看
面向对象编程:Object-Oriented Programming(OOP),是一种编程技术。简化某些编程任务,也能使编程变得更有趣。
Cocoa基于OOP概念,并且Objective-C是一种面向对象的语言。
间接
编程行业有句老话,大意是:“只要多添加一个间接层,计算机科学中就没有解决不了的问题。”间接这个词的含义很简单--不在代码中直接使用某个值,而是使用指向该值的指针。
间接的应用
变量
文件-告诉我们从哪里获得需要的数据。
参数
面向对象编程
过程式编程建立在函数之上,数据为函数服务。面向对象编程从相反的角度来看待问题,它以程序的数据为中心,函数为数据服务。在OOP中,不再重点关注程序中的函数,而是专注于数据。听起来非常有趣,但它如何工作呢?在OOP中,数据通过间接方式包含对自身操作的引用代码。不是通知drawRectangle()“使用这个开关结构绘矩形”,而是要求矩形“绘制自身”。通过间接方式的威力,矩形数据知道如何查找相应的函数绘制图形。
在Objective-C中,通知对象执行某种操作称为发送消息(调用方法)。代码[shape draw] 表示向shape对象发送draw消息。[shape draw] 可以理解成”向shape发送draw”。至于开关如何实际绘制图形,则取决于shape的实现。
类
类是一种结构,它表示对象的类型。对象引用类来获取和本身相关的各种信息。特别是运行什么代码来处理每种操作。简单的程序可能仅包含少量的类;中等复杂的程序会包含几十个类。Objective-C编程风格建议开发人员使用首字母大写的类名。
对象
对象是一种结构,它包含值和指向其类的隐藏指针。运行中的程序通常都包含成百上千个对象。引用对象的Objective-C变量通常需要首字母大写。
实例
实例是“对象”的另一种称呼。例如,circle对象可以称为Circle类的实例。
消息
消息是对象可以执行的操作,用于通知对象去做什么。在[shape draw]代码中,通过向shape对象发送draw消息来通知对象绘制自身。对象接收消息后,将查询相应的类,以便查找正确的代码来运行。
方法
方法是为响应消息而运行的代码。根据对象的类,消息可以调用不同的方法。
方法调度程序
方法调度程序是Objective-C使用的一种机制,用于推测执行什么方法以响应某个特定的消息。
接口
接口是对象的类应该提供的特性的描述。
实现
实现是使接口正常工作的代码。
Objective-C中的OOP
@interface部分
创建某个特定类的对象之前,Objective-C编译器需要一些有关该类的信息。特别的,它必须知道对象的数据成员和它提供的特性。可以使用@interface指令把这种信息传递给编译器。
@interface Circle:NSObject告诉编译器“这是为名为Circle的新类定义的接口”。
在Objective-C中只要看到“@”符号,就可以把它看成是C语言的扩展。
@end
告诉编译器已经完成了类的声明,提倡在@end语句后添加注释来说明类名。好处是易读。
@implementation部分
@interface用于定义类的公共接口。通常接口被称为API(application programming interface)。使对象真正起作用的代码位于@implementation部分中。
@implementation 是一个编译器指令,表明你将为某个类提供代码。类名出现在@implementation之后。该行的结尾处没有分号,因为在Objective-C编译器指令后不必使用分号。
Objective-C中不存在真正的私有方法。也无法把某个方法标识为私有方法,从而禁止其他代码调用它。
Cocoa基于OOP概念,并且Objective-C是一种面向对象的语言。
间接
编程行业有句老话,大意是:“只要多添加一个间接层,计算机科学中就没有解决不了的问题。”间接这个词的含义很简单--不在代码中直接使用某个值,而是使用指向该值的指针。
间接的应用
变量
文件-告诉我们从哪里获得需要的数据。
参数
面向对象编程
过程式编程建立在函数之上,数据为函数服务。面向对象编程从相反的角度来看待问题,它以程序的数据为中心,函数为数据服务。在OOP中,不再重点关注程序中的函数,而是专注于数据。听起来非常有趣,但它如何工作呢?在OOP中,数据通过间接方式包含对自身操作的引用代码。不是通知drawRectangle()“使用这个开关结构绘矩形”,而是要求矩形“绘制自身”。通过间接方式的威力,矩形数据知道如何查找相应的函数绘制图形。
在Objective-C中,通知对象执行某种操作称为发送消息(调用方法)。代码[shape draw] 表示向shape对象发送draw消息。[shape draw] 可以理解成”向shape发送draw”。至于开关如何实际绘制图形,则取决于shape的实现。
类
类是一种结构,它表示对象的类型。对象引用类来获取和本身相关的各种信息。特别是运行什么代码来处理每种操作。简单的程序可能仅包含少量的类;中等复杂的程序会包含几十个类。Objective-C编程风格建议开发人员使用首字母大写的类名。
对象
对象是一种结构,它包含值和指向其类的隐藏指针。运行中的程序通常都包含成百上千个对象。引用对象的Objective-C变量通常需要首字母大写。
实例
实例是“对象”的另一种称呼。例如,circle对象可以称为Circle类的实例。
消息
消息是对象可以执行的操作,用于通知对象去做什么。在[shape draw]代码中,通过向shape对象发送draw消息来通知对象绘制自身。对象接收消息后,将查询相应的类,以便查找正确的代码来运行。
方法
方法是为响应消息而运行的代码。根据对象的类,消息可以调用不同的方法。
方法调度程序
方法调度程序是Objective-C使用的一种机制,用于推测执行什么方法以响应某个特定的消息。
接口
接口是对象的类应该提供的特性的描述。
实现
实现是使接口正常工作的代码。
Objective-C中的OOP
@interface部分
创建某个特定类的对象之前,Objective-C编译器需要一些有关该类的信息。特别的,它必须知道对象的数据成员和它提供的特性。可以使用@interface指令把这种信息传递给编译器。
@interface Circle:NSObject告诉编译器“这是为名为Circle的新类定义的接口”。
在Objective-C中只要看到“@”符号,就可以把它看成是C语言的扩展。
@end
告诉编译器已经完成了类的声明,提倡在@end语句后添加注释来说明类名。好处是易读。
@implementation部分
@interface用于定义类的公共接口。通常接口被称为API(application programming interface)。使对象真正起作用的代码位于@implementation部分中。
@implementation 是一个编译器指令,表明你将为某个类提供代码。类名出现在@implementation之后。该行的结尾处没有分号,因为在Objective-C编译器指令后不必使用分号。
Objective-C中不存在真正的私有方法。也无法把某个方法标识为私有方法,从而禁止其他代码调用它。
相关文章推荐
- Objective-C基础教程学习笔记(十六)键/值编码
- Objective-c基础知识学习笔记
- Objective-C学习笔记(1) 基础知识
- Objective-C基础教程学习笔记(九)内存管理
- Objective-C基础教程学习笔记(十七)NSPredicate
- Objective-C基础教程学习笔记(六)源文件组织
- Python基础教程 第1章: 基础知识 学习笔记
- ES6基础知识笔记汇总(学习微信前端教程)
- [学习笔记—Objective-C]《Objective-C-基础教程 第2版》第二章~第七章
- [学习笔记—Objective-C]《Objective-C-基础教程 第2版》第十一章 属性
- [学习笔记—Objective-C]《Objective-C-基础教程 第2版》第十三章 协议
- [学习笔记—Objective-C]《Objective-C-基础教程 第2版》第十一章 属性
- Objective_C 基础知识学习笔记01
- <<Python基础教程>>学习笔记 | 第01章 | 基础知识
- java基础教程之学习知识笔记&nbsp;1-2节
- Objective-C基础教程学习笔记
- Objective-C基础教程学习笔记(七)Xcode快捷健
- Objective-C基础教程学习笔记 内存管理
- Python基础教程学习笔记 第一章 基础知识
- Objective-C基础教程学习笔记(八)Foundation Kit快速教程