面向对象与面向过程

Posted 王明辉的部落

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象与面向过程相关的知识,希望对你有一定的参考价值。

最近在看《大象:Thinking In UML》,这是一本早就想看的书。

里面提到了面向对象和面向过程的区别与联系以及各自的优缺点。

我想,软件开发之所以是从面向过程开始的,是因为计算机被发明出来的目的是用来解决数学问题,而数学问题一般是输入数据,经过运算,产生结果,单向前进,清晰明了。

而随着计算机的发展,其功能渐渐地向解决其它领域的问题延伸,不再是数据驱动,流程也变得不确定起来,这个时候,本来用于解决确定问题的”面向过程“软件开发,疲于应对,软件系统变得既难开发又难维护。逐渐地,随着现实需求和人们思维的转变,软件设计逐步向真实世界演化,用计算机来模拟真实世界。真实世界的模型就是,世界由Object组成,每一样东西都是Object,包括地球在内,包括太阳,包括宇宙在内。平时各个对象不发生关系,当有需求产生的时候,再利用各个对象的不同属性,使用不同的方法,去得到结果,这是一个“过程”,面向对象和面向过程,是从两个不同的维度来观察世界。

以上是关于面向对象与面向过程的主要内容,如果未能解决你的问题,请参考以下文章

面向过程与面向对象

面向过程与面向对象的本质区别-对面向过程与面向对象的一点感悟

JavaSE——面向对象与面向过程类与对象(属性方法构造器)等

面向对象与面向过程区别

面向过程编程与面向对象编程

面向过程与面向对象