【发布时间】:2021-06-28 20:28:19
【问题描述】:
根据抽象的定义,隐藏内部代码的实现,这可以通过 OOP 语言通过提供方法和属性绑定到该对象的类对象来实现。 我的问题是......如果用 C 语言编写一些函数并将其原型和返回类型共享给开发人员以供使用,那么我也可以实现抽象。
那么为什么抽象是面向对象语言的特性而不是面向过程的语言呢??
【问题讨论】:
-
你可以用C写面向对象的代码。确实没有什么特殊的语法,但是OOP是一套思想,不是特定的语法或一组关键字。
-
如果我是对的,C++ 的第一个版本是用 C 语言编写的,使用宏。
-
@YvesDaoust Cfront,第一个 C++ 实现,是一个生成 C 代码作为输出的编译器。
-
@skrrgwasme 还不是我,但我很受诱惑。 为什么抽象是 OOP 而不是过程语言的一个特征 有很多解释和潜在的争论。某些类型的抽象显然是 C++、Java 和 Swift 等语言的设计特性;即使您可以使用它的构建块来实现抽象,C 也没有任何特定的支持(有点)。另一方面,包括汇编在内的每一种计算机语言都是一种隐藏细节的抽象。此外,这个问题是基于对程序语言的毫无根据的假设。
-
@0___________ 听起来我的评论中有一些你不同意的地方,但我不知道它可能是什么。我是在回复之前的评论,而不是针对问题。