Ruby中的面向对象范畴

Ruby中的面向对象范畴,ruby,oop,Ruby,Oop,面向对象的语言可分为两类: 基于类:比如C++ 基于原型:像JavaScript Ruby有类,所以它是基于类的。但它的类也是一个对象。那么Ruby仍然是一种基于类的语言,还是介于两者之间呢?这是第三类吗 编辑: 好的,我想知道的是,其他基于类的语言是否也像ruby一样做同样的事情,比如创建class类的class对象?class是class类的一个实例。Ruby中没有任何东西反对它是基于类的。在面向对象的语言中,除了对象,类还能是什么?如果面向对象语言中最重要的东西之一不是对象,那么该语言

面向对象的语言可分为两类:

  • 基于类:比如C++
  • 基于原型:像JavaScript
Ruby有类,所以它是基于类的。但它的类也是一个对象。那么Ruby仍然是一种基于类的语言,还是介于两者之间呢?这是第三类吗

编辑:


好的,我想知道的是,其他基于类的语言是否也像ruby一样做同样的事情,比如创建class类的class对象?

class
class
类的一个实例。Ruby中没有任何东西反对它是基于类的。

在面向对象的语言中,除了对象,类还能是什么?如果面向对象语言中最重要的东西之一不是对象,那么该语言就不会是非常面向对象的,不是吗


类是许多基于类的OO语言中的对象。Smalltalk、Python、Ruby、Newspeak,随便你说。有些语言没有,例如Java和C#,但即使在那里,你也可以得到一个表示类的反射代理对象。

是的,你必须有类的某种表示。谢谢我读过一些关于不同OO语言的书,只有ruby的书谈到了表示。所以我认为其他OO语言中的类是一些抽象的概念,并没有将其与对象联系起来:)