天天看点

第三章 面向对象编程基础知识

3.1间接

1).含义:不在代码中直接使用某个值,而是使用指向该值的指针。

2).基本变量就是间接的一种实际应用。而文件是另一种间接的实例。

3).本质:告诉我们从哪里获得需要的数据

3.2 在面向对象的编程中使用间接

3.2.1 过程式编程

1).在过程式编程中数据通常保存在简单的结构中(例如C的struct元素),还有一些保存在复杂的机构中,例如链表和树

2).中心:函数是过程是编程的中心,你决定使用什么样的函数,然后调用那些函数,传递其需要的数据

3).Shapes-Procedural程序不是实际在屏幕上绘图,而是只输出一些与形状相关的文本。

注:面向对象的编程使得程序的扩展和维护变得很困难。

3.2.2 实现面向对象的编程

1).本质:面向对象编程是以程序为核心,函数为数据服务

2).id:代表identifier标识符,是一种泛型,用于表示任何种类的对象。类似java中的object。

注:在objective-c中方括号是用来通知某个对象该做什么,在objective-c中,通知对象执行某种操作称之为发送消息(调用方法)。

3.3 学习相关的术语

1).类:是一种结构,它表示对象的类型。建议开发者使用首字母大写类名

2).对象:是一种结构,包含值和指向其类的隐藏指针。

3).实例:“对象”的另一种称呼

4).消息:是对象可以执行的操作,用于通知对象要做什么。

5).方法:是为响应消息而运行的代码

6).方法调度程序:是OC中的一种机制,用于推测执行什么方法以响应某个特定的消息。

7).接口:是对象的类应该提供的特性的描述。

8).实现:是使得接口正常工作的代码。

3.4 Objective-C中的OOP

3.4.1 @interface部分

1).在Objective-C中使用@interface指把这种信息传递给编译器。

2).自定义一个Circle.h接口声明示例:

@interface Circle :NSObject{

…//定义实例变量

}

-(void)setColor : (ShapeColor) color;//方法声明

@end//完成Circle类的声明

注:“-”表明是Objective-C方法的声明,圆括号中是方法的返回类型,后面的是方法名字;方法中使用参数则需要冒号,否则不需要冒号。

3.4.2 @implementation部分

这是使得对象真正起作用的部分,也就是实现类的部分。

1).上面Circle类的实现:Circle.m

@implementationCircle

-(void) setColor:(ShapeColor)color{

·     //实现部分

}

….//其他方法

@end

注:@implementation 是一个编译器指令,表明你将为某个类提供代码。

3.4.3 实例化对象

我们在定义完一个类时需要用到该类,实例化对象的过程就是内存分配和初始化过程,这些完成后就创建了一个新的对象实例。

例如创建Circle类的一个对象:Circle circle = [Circle new];

小结:

什么是面向对象的编程,以及面向对象编程的实现方式。

Objective-C中类的创建,以及方法的实现等。

创建一个信的对象,也就是对象如何实例化的方法,通过向类发送一个new消息来创建。