当前位置:  开发笔记 > 编程语言 > 正文

术语"真实"的面向对象是什么意思

如何解决《术语"真实"的面向对象是什么意思》经验,为你挑选了1个好方法。

我已经听过很多关于Ruby的信息,甚至Javascript可能是"真正的"面向对象语言,而C++和C#则是面向类(或基于模板)的语言.真正的OO是什么意思,这对于类/模板方法有什么好处?



1> Firas Assaad..:

这是一个用于促进语言的主观术语.我曾经看过,与C++相比,C#和Java是真正的面向对象语言,因为一切都必须在一个类中(没有全局函数或变量),并且所有对象都从一个Object类继承.

对于Ruby,它可能指的是Ruby如何将所有东西视为一个对象,所以你可以写1.to_s,而不是像str(1)String.valueOf(1).这是因为Ruby不区分值和引用变量.在Javascript中没有类,您只需创建可以克隆以供重用的可扩展对象,这种编程风格称为基于原型的编程.

另一方面,C++被宣传为一种多范式语言,允许您使用多种方法,如面向对象,通用和过程编程.它并不拘泥于一种范式.

但是,这只是一个主观用语,可能意味着什么.一般来说,它指的是语言是否更加强调对象而不是其他语言元素,如函数,模板等.维基百科关于SmallTalk的文章将其称为"纯粹的"面向对象语言,该描述也适用于Ruby:

Smalltalk是一种"纯粹的"OO语言,这意味着与Java和C++不同,作为对象的值和作为原始类型的值之间没有区别.在Smalltalk中,诸如整数,布尔值和字符之类的原始值也是对象,在某种意义上它们是相应类的实例,并且通过发送消息来调用它们上的操作.程序员可以更改实现原始值的类,以便可以为其实例定义新行为 - 例如,实现新的控制结构 - 甚至可以更改其现有行为.这个事实总结在常见的短语"在Smalltalk中,一切都是一个对象"(更准确地表达为"所有值都是对象",

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有