怎么理解面向对象和面向过程到底的本质区别? .

简介: 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

       面向过程的思维方式是分析综合。面向对象的思维方式是构造。

就是对C语言过程式解决问题时。一般是将现有的数据结构先定义出来。然后想办法构造出算法了。


     而用C++这样的面向对象求解时,先是将对象抽出来。构造成一个仿真的环境,然后在这个环境里,把与最终要解决的问题间建立一个方法。

     所以面向过程的程序设计有挑战性,技巧性强。


      而面向对象主要在于对象抽象有技术性,抽象完了后,任何人都可以做后面的工作了。

     面向对象和面向过程的主要区别就是数据是单独存储还是与操作存储在一起。对面向过程而言,数据是独立的。而在面向对象中,对象本身就提供了存储数据的空间(类的数据成员),这样就是函数的参数传递简单多了,而且提供了数据封装后,数据的访问也变可靠了。


     面向过程就是将编程当成是做一件事,要按步骤完成,每一步就是一个过程。比如作菜,先放油,接着是放菜进去炒,然后放水,最后菜就做好了。

这里面放油,炒,放水就是三个步骤。


      面向对象就是将编程当成是一个事物,对外界来说,事物是直接使用的,不用去管他内部的情况。而编程就是设置事物能够做什么事。其实有点像是将面向过程给放到事物内部了。仍然举作菜为例,其实面向过程就好像你是个厨师,要自己炒菜,所以要讲究步骤,而面向对象就好像你是个食客,你只要通知厨师作菜,即发一个消息就可以了,至于厨师怎样作菜,是不用知道的。

相关文章
|
存储 设计模式 缓存
通用点赞设计思路
点赞作为一个高频率的操作,如果每次操作都读写数据库会增加数据库的压力,所以采用缓存+定时任务来实现。点赞数据是在redis中缓存半小时,同时定时任务是每隔5分钟执行一次,做持久化存储,这里的缓存时间和任务执行时间可根据项目情况而定。
2696 2
|
领域建模
领域建模问题之四色原型具体是哪四色呢
领域建模问题之四色原型具体是哪四色呢
291 0
|
关系型数据库 MySQL Linux
Docker中运行一个mysql
尽管不希望在docker中运行mysql,但是自己玩确实方便~~~
4455 2
Docker中运行一个mysql
|
缓存 网络协议 算法
UDP如何实现可靠传输
UDP如何实现可靠传输
379 0
|
存储 缓存 安全
|
Java
线程 - 一句话说明白 Java 线程池中 shutdown 和 shutdownNow 的区别
线程 - 一句话说明白 Java 线程池中 shutdown 和 shutdownNow 的区别
704 0
|
缓存 Java
梳理10道经典面向对象的面试题
梳理10道经典面向对象的面试题
805 0