据我了解,过程编程是一种编程范例,其中程序状态由处理数据流的过程(例如子例程和数据馈送的函数调用)确定,而<面向对象的程序很大程度上取决于其对象,实例的集体状态以及它们之间通过接口的交互。
尽管面向对象程序的数据和功能已封装并且可能是多态的,但整个程序仍作为分解为较小任务的过程执行;数据仍然通过对象函数和子例程传递并作用。
即使使用Java之类的语言(被描述为专门面向对象),程序执行和数据流也似乎是顺序发生的,并使用函数和变量。
在我看来,过程编程中的概念仍然存在于OOP中,但在OOP上得到了扩展,那么为什么看起来好像两者是相反的呢?我想念什么吗?
答案 0 :(得分:2)
将OOP视为过程之上的组织层。这是改进的演变,旨在帮助您组织,查找和连接代码。它的核心也是程序性的。
第一个穴居程序员只写了“ if(x!= 0)goto y”(跳转不为零,eq跳转为零等)之类的控制结构,除“ Memory address 17”外没有变量,此后的所有内容不断改进,使我们的生活更轻松。您不需要它们,可以在此过程中随时停止(例如,对于shell脚本来说,完整的OO太过分了,功能很有意义)