面向过程就是分析出解决问题的步骤,将每一步封装起来,用的时候一步步的调用,实现目的。
面向对象则是把构成问题的每一步分解,形成整个解决问题的又一个的对象。建立对象来描述某个事物在整个问题解决中的行为。
面向过程的思维方式是分析综合。面向对象的思维方式是构造。
就是对C语言过程式解决问题时,一般是将现有的数据结构先定义出来,然后想办法构造出算法了。
而用C++这样的面向对象求解时,先是将对象抽出来。构造成一个仿真的环境,然后在这个环境里,把与最终要解决的问题间建立一个方法。
所以面向过程的程序设计有挑战性,技巧性强。
而面向对象主要在于对象抽象有技术性,抽象完了后,任何人都可以做后面的工作了。
面向过程就是将编程当成是做一件事,要按步骤完成,每一步就是一个过程。比如作菜,先放油,接着是放菜进去炒,然后放水,最后菜就做好了。
这里面放油,炒,放水就是三个步骤。
面向对象就是将编程当成是一个事物,对外界来说,事物是直接使用的,不用去管他内部的情况。而编程就是设置事物能够做什么事。其实有点像是将面向过程给放到事物内部了。仍然举作菜为例,其实面向过程就好像你是个厨师,要自己炒菜,所以要讲究步骤,而面向对象就好像你是个食客,你只要通知厨师作菜,即发一个消息就可以了,至于厨师怎样作菜,是不用知道的。
用指挥者来形容面向对象就再合适不过了。
两句话:
面向对象是将实物高度抽象化
面向过程是一种自顶向下的编程。
而面向对象是自下先建立抽象模型然后再使用模型。
|