- 对象是由一组实例变量和一个类的引用组成。
- 对象的方法存在于对象所属的类中(从类的角度看,它们叫做实例方法)。
- 类本身是Class对象。类的名字不过是一个常量而已。
- Class类是Module的子类,一个模块基本上是由一组方法组成的包。类具有模块的特性,但可以被实例化(new),被组织为层次结构(通过它的superclass方法)。
- 常量依据模块名和类名来索引,类似于目录树。
- 每个类都有一个祖先链,从自己所属的类开始,追溯到BasicObject类才结束。可以用Class.ancestors方法查看。
- 调用某个方法时,Ruby先索引到对象所属的类,遍历其祖先连,直到找到该方法或者到链顶端为止。
- 当某个类去包含某个模块时,该模块在该类的祖先链中的位置恰好在该类的正上方。
- 当调用一个方法时,接收者(调用者,即实例对象)会扮演self的角色。
- 当定义一个模块(或者类)时,该模块扮演self的角色。
- 实例变量永远都被认为是self的实例变量。
- 任何没有明确指定接收者的方法调用,都被当成是调用self的方法。 ——摘自《Ruby 元编程》
posted @
2013-01-23 21:35
Vman
Views(
428)
Comments()
Edit
收藏
举报