ruby 对象模型总结

  • 对象是由一组实例变量和一个类的引用组成。
  • 对象的方法存在于对象所属的类中(从类的角度看,它们叫做实例方法)。
  • 类本身是Class类的对象。类的名字不过是一个常量而已。
  • Class类是Module的子类。一个模块基本上是由一组方法组成的包。类除了具有模块的特性之外,还可以被实例化(通过new()方法)及被组织为层次结构(通过它的superclass()方法)。
  • 常量像文件系统一样,是按照树形结构组织的。其中模块和类名字扮演目录的角色,其他普通的常量则扮演文件的角色。
  • 每个类都有一个祖先链,这个链从自己所属的类开始,向上直到BasicObject类结束。
  • 当调用一个方法时,Ruby首先向右一步来到接收者所属的类,然后一直向上查找祖先链,直到找到该方法,或者到达链的顶端为止。
  • 每当类包含一个模块时,该模块会被插入到祖先链中,位置在该类的正上方。
  • 当调用一个方法时,接收者会扮演self的角色。
  • 当定义一个模块(或者类)时,该模块扮演self的角色。
  • 实例变量永远都被认定为self的实例变量。
  • 任何没有明确指定接收者的方法调用,都当成是调用self的方法。

FROM: ruby元编程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 9,452评论 1 10
  • 打开类 在Ruby中,定义类的语句和其他语句没有本质区别,你可以在类定义中放置任何语句。 Ruby的class关键...
    CharlesZhangCh阅读 3,301评论 0 0
  • 最近复习了下 ruby 对象模型的知识,参照了 Ruby Metaprogramming,于是边看边做笔记,还是收...
    张羽辰阅读 3,499评论 0 4
  • 第一章节的内容是对象模型,相对来说比较简单,本篇文章先直接总结知识点,其实以后再回过头来看本篇文章的时候直接看知识...
    Jayzen阅读 2,953评论 0 0
  • 123.继承 一个类可以从另外一个类继承方法,属性和其他特征。当一个类继承另外一个类时, 继承类叫子类, 被继承的...
    无沣阅读 5,272评论 2 4