你学过C,应该知道汇编语言和机器语言的吧?面向过程本质上还是汇编和机器语言的思维模式,直接对计算机发指令,指挥它这一步干啥,下一步干啥,比如说C语言的程序结构就是若干函数互相调用,函数无非是将一系列操作步骤打包,起了个名而已。
面向对象的思考方式更贴近现实世界。如果把现实世界看做一个系统,那么我们平时看到的基本上就是这个系统各组成部分(对象)之间的交互作用(调用对象的方法,或者叫请求对象提供服务,或者叫给对象发送消息)。这种交互作用和面向过程那种直接指挥是不一样的。比如老板和秘书是两个对象,老板叫秘书去复印一份文件,这就相当于请求秘书提供复印文件的服务,秘书清楚怎么复印,老板不用操心。这是面向对象的思考方式。如果换成面向过程,那就成了:老板叫来秘书,让秘书把文件拿到复印件旁,让秘书按下复印件的开关,让秘书把文件放进去,让秘书按开始复印按钮。。。 |