gpt4 book ai didi

language-agnostic - 是什么让语言面向对象?

转载 作者:行者123 更新时间:2023-12-03 08:25:25 27 4
gpt4 key购买 nike

由于没有有意义的条款的辩论是meaningless ,我想我会指着房间里的大象问:究竟是什么让语言“面向对象”?我在这里寻找的不是教科书答案,而是基于您使用在您的领域中运行良好的 OO 语言的经验,无论它可能是什么。

一个可能有助于首先回答的相关问题是:面向对象语言的原型(prototype)是什么,为什么?

最佳答案

面向对象的并不是真正的语言,而是代码。

可以编写面向对象的 C 代码(如果您愿意,可以使用结构甚至函数指针成员),我已经看到了一些非常好的例子。 (想到 Quake 2/3 SDK。)当然也可以用 C++ 编写过程(即非 OO)代码。

鉴于此,我会说这是该语言对编写良好的 OO 代码的支持,使其成为“面向对象的语言”。我永远不会为在 C 中的结构中使用函数指针成员而烦恼,例如,对于普通的成员函数;因此我会说 C 不是面向对象的语言。

(对此进行扩展,可以说 Python 也不是面向对象的,在每一步都有强制性的“自我”引用,并且构造函数称为 init ,诸如此类;但这是一个宗教讨论。)

关于language-agnostic - 是什么让语言面向对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29099/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com