学科分类
目录
PHP基础

面向过程与面向对象

在学习面向对象之前,读者首先要了解什么是面向过程。面向过程就是将要实现的功能分解成具体的步骤,然后利用函数把这些步骤依次实现,使用时按规定好的顺序调用即可。前面的章节都是基于这样的编程思想进行编程。

面向对象则是一种更符合人类思维习惯的编程思想,它分析现实生活中存在的各种形态不同的事物,通过程序中的对象来映射现实中的事物。由于这些事物之间存在着各种各样的联系,因此使用对象的关系来描述事物之间的联系。

在面向过程的方式中,主要侧重于完成任务所经历的每一个步骤,将这些步骤定义成函数后,依次调用来完成整个任务。而在面向对象的方式中,主要侧重于用什么对象解决什么问题,每一个对象中都包含了若干变量和函数,我们把变量称为对象的属性,函数称为对象的方法。下面我们通过代码演示对象的使用。

// 输出某个学生对象的姓名
echo $student->name;      // 获取$student对象的name属性
// 让某个学生对象打招呼
$student->sayHello();     // 调用$student对象的sayHello()方法

面向对象就是把要解决的问题,按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。通常一个应用程序中可能会包含多个对象,有时需要多个对象的相互配合来实现应用程序的功能。例如,老师布置作业,学生做作业,老师批改作业,最后输出学生的作业成绩,这一系列过程用面向对象代码的表示如下。

// 老师布置作业
$work = $teacher->createWork();
// 学生做作业
$result = $student->doWork($work);
// 老师批改作业
$score = $teacher->check($result);
// 输出学生的作业成绩
echo $student->name . '的考试成绩为:' . $score;

通过上述代码,我们可以很直观地看到对象与对象之间做了什么事情,代码的可读性很强。并且当应用程序功能发生变动时,只需要修改对应对象就可以了,从而使代码更容易维护。

点击此处
隐藏目录