PHP编程语言属于脚本语言,在学习PHP基础知识时,基本上都是按面向过程写代码,学习PHP中级时要学习面向对象的方式写代码。
那么,面向过程与面向对象有什么区别呢?
面向过程就是分析出解决问题所需要的步骤,然后再用函数把这些步骤逐一实现。
面向对象就是把构成问题的事物分解成各个对象,建立对象的目的并不是为了完成某一个步骤,而是为了描述了某个事物在解决问题过程中的行为。
举个例子来说明一下两者的区别,就拿五子棋这件事来说吧。
如果按着面向过程的思想编写程序实现五子 棋,要实现以下步骤:
- 开始游戏
- 黑子先走
- 绘制画面
- 判断输赢
- 轮到白子
- 绘制画现
- 判断输赢
- 返回步骤2,往复循环
- 最后输出结果
如果按着面向对象的思想编写程序,五子棋可以分为:
- 黑白双方,两方的行为一模一样
- 棋盘系统,负责绘制画面
- 规则系统,负责制定犯规,输赢等
第一类对象负责接收用户输入,并告知第二类对象棋子布局的变化,棋盘对象接收到棋子的变化后负责绘制出来,利用第三类对象对棋局进行判定
可以明显的看出,面向对象是以功能来划分,而不是步骤。
两者的优缺点:
面向过程:性能比面向对象高,适合单片机、嵌入式开发。
面向对象:易维护、易复用,易扩展,更适合于我们所从事的项目开发。