我和一位同事谈论C和C++,他声称C是面向对象的,但我说不是。我知道你可以用C做类似面向对象的事情,但C++是一种真正的面向对象语言。
你的想法是什么?
此外,它还引发了关于谁决定面向对象意味着什么的讨论,以及很难说面向对象真正正式意味着什么。你对此有何感想?
发布于 2010-07-14 06:08:29
如果是“是面向C对象的吗?”你的意思是“C语言是专门为支持面向对象编程而设计的吗?”那么,不,C显然不是面向对象的。
发布于 2010-07-14 06:13:27
您可以使用任何语言以面向对象的风格进行编程。(我认为运行时多态性--即虚方法--需要一种支持函数指针的语言。)
这里有几个例子:
C:http://www.emilmont.net/doku.php?id=c:object_oriented_c
与用C编写的同一程序之间的比较:
发布于 2010-07-14 06:07:41
C不是面向对象的。这就是++背后的全部目的
至于什么是面向对象的定义:检查wikipedia。
就我个人而言,如果它支持继承、封装和多态性,那么您就可以使用它了。这里的另一个关键是拥有漂亮的关键字,如class和object,这有助于……
真正的面向对象语言的例子(不是决定性的)有: Smalltalk、Java、c#、Python、Ruby、C++。
此外,还可以使用扩展来提供面向对象的特性,如PHP、Perl、VB (而不是.Net)……
https://stackoverflow.com/questions/3241932
复制相似问题