【问题标题】:Object Oriented Programming vs Procedural Programming面向对象编程与过程编程
【发布时间】:2014-06-26 13:48:19
【问题描述】:

我们可以使用过程式编程来解决任何可以使用面向对象编程概念解决的问题吗?我的问题是有一些特殊问题只能使用 OOP 概念来解决。

请帮助我理解这一点。

【问题讨论】:

  • 编程范式不会影响你能解决什么问题,它只会让编写代码变得更容易(或更难)。您可以用汇编语言或 C# 解决相同的问题,但前者通常需要更长的时间。
  • @S.L.Barth 是真的。此外,正确的范例可以让团队轻松开发和维护源代码。正确的范例可以让您更有效地扩展您的项目。正确的范例可以让您在代码中编写更少的错误。但是你可以选择任何你想要的。

标签: oop procedural


【解决方案1】:

是的。任何可以使用 OOP 解决的问题都可以使用过程编程来解决。最后编译器只是将你的 OOP 代码转换为程序集,这是程序化的。

这一切都取决于您计算机中的 CPU/RAM 等组合可以做什么。由于您的计算机是Turing Complete,它可以解决任何其他语言或机器也可以解决的任何问题。

【讨论】:

    【解决方案2】:

    几乎所有的编程语言都是“图灵完备的”。这意味着以一种范式(比如功能范式)编写的程序总是可以转换为另一种范式(比如逻辑范式)。编译器只是一种将代码从一种语言/范式翻译成另一种语言/范式的工具。因此,当一种语言图灵完备时,您可以用该语言解决任何其他语言的任何问题,尽管代码的性能和优雅可能会有所不同。

    目前在硬件层面,唯一实现的范式是过程范式(已经对功能和逻辑范式进行了一些实验,甚至 OO 已经在 CPU 上实现了)。

    【讨论】:

      猜你喜欢
      • 2016-04-22
      • 2010-09-18
      • 1970-01-01
      • 2023-03-21
      • 2015-09-13
      • 2011-11-16
      • 1970-01-01
      • 2012-01-27
      • 2011-07-09
      相关资源
      最近更新 更多