下面通过“将大象装冰箱”这个例子来说明面向对象编程与面向过程编程的区别:
面向过程的编程的实现如下:
Open($icebox);//将冰箱门打开
Push($elephant,$icebox); //将大象放进冰箱
Close($icebox); //将冰箱门关上
如果用面向对象的编程,需要首先分析该过程涉及几个对象,每个对象分别有什么样的操作,毫无疑问有两个对象:冰箱和大象,冰箱有开门,关门的方法,大象有走的操作。
这样,面向对象的编程实现如下:
$icebox->open();//冰箱门打开
$elephant->work(out,in);// 大象从冰箱外走到冰箱内
$icebox->close(); //冰箱门关上
可以看到,面向过程的编程实质上任何异步操作,都隐含有一个幕后的手在指挥,也就是程序员本身;面向对象的编程则是让涉及的对象有了主观能动性
在面向对象的编程中,可以把万事万物都看成是对象!这是面向对象的精华