既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
没错,类也是对象,这是Ruby和C++/Java的一个显著不同,在C++/Java中,类仅仅是一个数据抽象,并没有类也是对象这样的概念。而在Ruby中存在着元类的概念,类也是对象,所有类都是元类的实例对象。和C++/Java相比,Ruby的面向对象程度更高。
可以看到,类对象和实例对象一样有自己的ojbect_id,你可以象调用一个实例对象的方法一样去用它去调用类方法。所有类对象的类是Class类,Oject类是所有类的基类。
irb(main):003:0> Object.class
=> Class
irb(main):004:0> Object.superclass
=> nil
可以看到,类对象和实例对象一样有自己的ojbect_id,你可以象调用一个实例对象的方法一样去用它去调用类方法。所有类对象的类是Class类,Oject类是所有类的基类。
irb(main):003:0> Object.class
=> Class
irb(main):004:0> Object.superclass
=> nil
【既然说Ruby中一切都是对象,那么Ruby中类也是对象吗】相关文章
1. 既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
3. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
5. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
6. Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
8. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
9. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
10. 我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
本文来源:https://www.mianshiwenti.com/a13483.html
进入下载页面
上一篇:介绍一下Ruby的特点
下一篇:Ruby如何进行文件操作
﹝既然说Ruby中一切都是对象,那么Ruby中类也是对象吗﹞相关内容
- 解释一下ruby中的特殊方法与特殊类
- 为什么Runtime.exec(“ls”)没有任何输出?
- C#中类(class)与结构(struct)的异同
- 如何拷贝一整个Java对象,包括它的状态
- 介绍一下ASP中一下五个对象
- 初中一年级自我介绍
- C语言中一个结构不能包含指向自己的指针吗
- 面试被拒也是一种收获
- 证书也是敲门砖
- 跳槽是机遇也是挑战