第十四章:面向对象编程基础
不知道有多少人是按照章节顺序翻到这一章的,又有多少人是看到了对象这两个字直接翻到本章的,如果你是后者,那你可能要失望了,因为此对象非彼对象,本章我们将学习一个非常重要的编程思想----面向对象编程;在正式讲面向对象编程思想前我们先来了解一下它和它的“劲敌”----面向过程编程之间的区别以及各自的特点。
14.1 面向对象编程和面向过程编程
面向过程和面向对象到底是什么?又有什么区别?这是个编程界老生常谈的问题了;不理解的人觉得很可怕,理解的人又觉得很简单,包括写到这章之前我还觉得这是一个只可意会不可言传的概念,但读了众多资料之后,觉得有些比喻及示例确实能让一个几乎小白的人也能理解。
我们暂且不讲一些工程上比较专业的内容,不妨来理解一下这两样东西到底是什么?浅层次上有什么区别?以及通过几个小比喻、小示例来深入浅出理解一下;不过首先我们需要清楚的是:无论是面向对象还是面向过程,它都只是一种编程思想。
14.1.1 两种思想概念的区别
1.面向过程的英文缩写为:pop(Process-oriented programming),“process”意为“过程”,“oriented”意为“面向”,“programming”在这里意为“编程”;面向过程是一种以过程为中心的编程思想,它是一种基础的顺序的思维方式。代表语言:C语言。
2.面向对象的英文缩写为:oop(Object Oriented Programming),“object”意为“对象”;是按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。代表语言:C++,JAVA,Python。
14.1.2 把大象装进冰箱
看完上面的概念,你肯定依然云里雾里,那接下来我们从一个小比喻出发,不妨想一个问题:把大象装进冰箱分为几步?
14.1.2.1 面向过程编程思想
聪明的你肯定已经确定了三步:
1.打开冰箱门;
2.把大象放进冰箱;
3.关上冰箱门;
你说的没错,这是一个完整的可以将大象装进冰箱的流程,而且这是一个彻头彻尾的面向过程的编程思想;因为我们在分析这个问题的时候是按照事件的流程来完成设计的,所以使用面向过程的C语言来表示的话,可能就如下:
int Open() //定义一个开门函数
{
"打开冰箱门"; //在函数内部编写打开冰箱门的代码
}
int