首页 > 代码库 > Ruby元编程::对象模型

Ruby元编程::对象模型

  1. 对象由一组实例变量和一个类的引用组成。   

  2. 对象的方法存在于对象所属的类中(从类的角度看,它们叫做实例方法)。   

  3. 类本身是Class类的对象。类的名字不过是一个常量而已。   

  4. Class类是Module的子类。一个模块基本上是由一组方法组成的包。类除了具有模块的特性之外,还可以被实例化(通过new()方法)及被组织为层次结构(通过它的super-class()方法)。   

  5. 常量像文件系统一样,是按照树形结构组织的。其中模块和类的名字扮演目录的角色,其他普通的常量则扮演文件的角色。   

  6. 每个类都有一个祖先链,这个链从自己所属的类开始,向上直到BasicObject类结束。   

  7. 当调用一个方法时,Ruby首先向右一步来到接收者所属的类,然后一直向上查找祖先链,直到找到该方法,或者到达链的顶端为止。   

  8. 每当类包含一个模块时,该模块会被插入到祖先链中,位置在该类的正上方。   

  9. 当调用一个方法时,接收者会扮演self的角色。   

  10. 当定义一个模块(或者类)时,该模块扮演self的角色。



Ruby元编程::对象模型