美文网首页2017届西安思沃大讲堂程序员Ruby
为什么说Ruby是纯面向对象的语言

为什么说Ruby是纯面向对象的语言

作者: 极客人 | 来源:发表于2016-12-12 13:33 被阅读774次

Ruby 是纯面向对象的语言,Ruby 中的一切都是以对象的形式出现。Ruby 中的每个值都是一个对象,即使是最原始的东西:字符串、数字,甚至连 true 和 false 都是对象。类本身也是一个对象,是 Class 类的一个实例。
在Ruby中,所操作的一切都是对象,操作的结果也是对象。这一点和js相同,js中甚至方法都是对象。
很多语言都说自己是面向对象的,但是他们往往对面向对象的解释都一样,大多是以自己特有的方式来解释什么是面向对象,而在实际情况中,这些面向对象语言又采用了很多非面向对象的做法。
以 Java 为例:如果你想取一个数字取绝对值,java 的做法是:

int num = Math.abs(-99);

也就是将一个数值传递给 Math 类的一个静态函数 abs 处理。为什么这么做?因为在 java 中,数值是基本类型不是类。
而在 Ruby 中,任何事物都是对象,也就是说,数字–99就是对象,取绝对值这样的操作应该属于数字本身,所以Ruby的做法就是:

c = -99.abs

相关文章

网友评论

  • 87575096ca59:method missing黑魔法
  • oraoto:erlang和elixir表示,消息传递而不是调用方法才是最OO
  • 6d96978eeefb:代码部分可以用行内代码块儿包起来
    极客人: @TW李鹏 好的

本文标题:为什么说Ruby是纯面向对象的语言

本文链接:https://www.haomeiwen.com/subject/fkummttx.html