C是面向对象的语言吗?

新手上路,请多包涵

我一直听说 C++ 不是面向对象的,而是“C with Classes”。因此,当我向面试官提到 C++ 并不是真正面向对象时,他问我为什么不认为它是一种 OO 语言。自大学以来我没有做过任何 C++,我也没有太多答案。 C++ 是否面向对象?为什么?

原文由 David Laughlin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 815
2 个回答

C++ 通常被认为是一种“多范式”语言。也就是说,您可以将其用于面向对象、过程甚至函数式编程。

那些否认 C++ 是 OO 的人通常对原始类型本身不是对象这一事实感到不满。按照这个标准,Java 也不会被视为 OO。

C++ 确实不像 Smalltalk、Ruby、Self 等那样是面向对象的,但从大多数标准来看,它绝对是一种有效的面向对象语言。

原文由 Drew Hall 发布,翻译遵循 CC BY-SA 2.5 许可协议

Stroustrup,他设计了带有类的 C,即。 ISO C++ 标准的原始实现在 ACM 的 OOPSLA ‘95 中回答了相同的问题。该论文的软拷贝可在 http://www.stroustrup.com/oopsla.pdf 获得。

原文由 Chawathe Vipul S 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题