为什么 OOP 与过程编程并列?
Why is OOP juxaposed with Procedural Programming?
据我了解,过程式编程 是一种编程范例,其中程序的状态由处理数据流的过程决定,例如子例程和数据馈送面向对象程序的函数调用在很大程度上取决于其对象、实例的集体状态以及它们之间通过接口进行的交互。
虽然面向对象程序的数据和功能被封装并且可能是多态的,但整个程序仍然作为一个过程被分解成更小的任务来执行;数据仍然通过对象函数和子例程传递和操作。
即使在像 Java 这样的语言(被描述为完全面向对象的语言)中,程序执行和数据流似乎也是按顺序发生的,并且使用函数和变量。
在我看来,过程式编程中的概念在OOP中仍然存在,但得到了扩展,为什么两者看起来好像是对比的?我错过了什么吗?
将 OOP 视为过程之上的组织层。它是改进的演变,旨在帮助您组织、查找和连接您的代码。它的核心也是程序化的。
第一个穴居人程序员除了像 "if(x!=0)goto y"(跳转不为零,跳转等式为零等)之外没有控制结构,除了 "Memory address 17" 之外没有变量,从那时起一切都在逐步改进让我们的生活更轻松。你不需要它们,你可以随时停下来(比如 shell 脚本,完整的 OO 是一种矫枉过正,功能有意义)
据我了解,过程式编程 是一种编程范例,其中程序的状态由处理数据流的过程决定,例如子例程和数据馈送面向对象程序的函数调用在很大程度上取决于其对象、实例的集体状态以及它们之间通过接口进行的交互。
虽然面向对象程序的数据和功能被封装并且可能是多态的,但整个程序仍然作为一个过程被分解成更小的任务来执行;数据仍然通过对象函数和子例程传递和操作。
即使在像 Java 这样的语言(被描述为完全面向对象的语言)中,程序执行和数据流似乎也是按顺序发生的,并且使用函数和变量。
在我看来,过程式编程中的概念在OOP中仍然存在,但得到了扩展,为什么两者看起来好像是对比的?我错过了什么吗?
将 OOP 视为过程之上的组织层。它是改进的演变,旨在帮助您组织、查找和连接您的代码。它的核心也是程序化的。
第一个穴居人程序员除了像 "if(x!=0)goto y"(跳转不为零,跳转等式为零等)之外没有控制结构,除了 "Memory address 17" 之外没有变量,从那时起一切都在逐步改进让我们的生活更轻松。你不需要它们,你可以随时停下来(比如 shell 脚本,完整的 OO 是一种矫枉过正,功能有意义)