面向对象

概念

很多招聘信息上会出现这样一个要求:深入理解OOP

什么是OOP?

OOP(Object-oriented programming)译为面向对象程序设计,常见的面向对象语言有:Java、OC、C++等等。

初步理解

之前我们学到的C语言,是一门面向过程的语言,但是OC是面向对象的。直接这样阐述可能会显得很抽象也显得很苍白,那么,举一个例子(事实上,这也是OC的原理):

在我们学习C语言的时候,我们接触到了一个概念,叫做结构体。现在假设有一个名为学生的结构体,我们可以将它定义为:

  1. typedef struct {
  2. char name[20];
  3. int age;
  4. float height;
  5. } Student;
  1. 那么在OC中,我们将结构体称为
  2. 姓名、年龄、身高等信息,称为属性(或成员变量,之后会详细介绍属性和成员变量的关系);
  3. 将声明新的结构体变量Student *student1;,称为对象
  4. 将这个学生的一些动作行为(如读书、写字等),称为方法

面向对象的特点

我们在学习一门面向对象的语言时,通常会接触到一下几个术语:

  1. 封装;
  2. 继承;
  3. 多态。

他们具体的含义与用法,我会在第二章进行讲解。