OC基础教程(面向对象-1)

面向过程

面向过程的编程中数据通常保存在简单的结构体中(例如C语言的struct),话有一些比较复杂的数据结构,例如链表和树。当调用一个函数时候,将数据传递给函数,函数会处理这些复杂的的数据结构。

在面向过程的编程中经常会使用到函数,传什么数据,就用对应的函数。

使用面向对象的编程,要花时间连接数据和用来处理该数据的函数。要为各种数据类型使用正确的函数。

过程式编程建立在函数上,数据为函数服务,而面向对象的编程则以程序的数据为中心,函数为数据服务。

面向对象OOP

面向对象编程(Object-Oriented Programming),是一种编程架构,可构建由多个对象组成的软件。

在面向对象的语言中,比如OC语言,经常会创建对象,然后由不同的对象来处理不同的事情。

面向对象和面向过程的主要区别

过程式编程建立在函数之上,数据为函数服务,而面向对象的编程则以程序的数据为中心,函数为数据服务。在面向对象的编程中,我们不再重点关注函数而是关注数据。

OC中的间接

代码中通过指针间接获取某个值,而不是直接获取这个值。指针指向的是一个内存地址,通过这个地址拿到这个地址里存储的数据这就是一种间接。

OC语言中使用的变量、代理等都是间接的方式。

  • 变量与间接
    通过变量,使得代码更加易于编辑和执行。通过变量间接执行程序,使得程序不用每次都去改动某个值,而是通过变量自动控制。

是一种能够表示表示对象类型的结构体,并可以实例化该类型的对象。

类是一种能够表示对象类型的结构体,他能实例化对象。

在C语言中定义一个类是通过结构体定义的,在OC中类是一种能够实例化成对象的结构体,类是怎么被定义的,也是通过结构体定义的。为什么我们平时创建一个类不用自定义结构体?因为NSObject类已经定义其自结构体,我们只要继承它就可以了。

OC中的类是通过结构体定义的,当然我们平时用的类不用自己去定义结构体,因为系统已经为我们定义好了很多结构体的类,我们只需要用这些就能实现很多功能了。有时候我们也可以自定义自己的结构体,也是可以用的。

对象

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

对象能够通过函数指针查找对应的函数,执行相应的方法。

对象中有属性,即对象的值。创建对象的时候都是 类 *类名 ,这种实例化的对象,就是一个该类类型的指针。

类都是一个结构体,对象指向该类,即对象指向一个结构体。

通常类名首字母是大写,为了与类区分开,对象名首字母都是小写。*对象名,代表一个指针。

实例instance是对象的另一种称呼。一个实例,即指的是一个对象。一个类的一个实例,即一个类的一个对象。

一个对象执行一个方法(发送一条消息并完成消息)的三个步骤

1、对象是消息的目标,需要查出他属于哪一个类;
2、在该类中查找其代码,找到需要执行的方法;
3、执行该方法

消息

消息是对象可执行的操作。消息的目标是对象,消息作用就是通知对象需要做什么操作。

通常调用一个方法,实质上是给对象发送了一个消息,告诉对象需要执行什么样的操作。

通知对象执行某种操作称为“发送消息”,也称作“调用方法”。

方法

是为响应消息而运行的代码。

接口

是类为对象提供的特性描述,定义该类能接受什么消息。

实现

是使得接口能够正常工作的代码。

你可能感兴趣的:(OC基础教程(面向对象-1))