Ruby对象模型总结

本文介绍了Ruby的元编程概念,解释了对象、类和模块的关系,以及Ruby如何通过祖先链查找方法。同时,还探讨了方法调用过程中的self概念。

参考《Ruby元编程》,元编程,即 用来编写代码的代码 。

  • 对象由一组实例变量和一个类的引用组成
  • 对象的方法存在与对象所属的类中,类似js中的prototype,在ruby中准确的说,应该是实例方法
  • 类本身是Class类的队形,类的名字不过是常量而已
  • Class类是Module的子类,模块基本上是由一组方法组成的包。类除了具有模块的特性,还可以被实例化,组织为层次结构
  • 常量像文件系统,按照树形结构组织
  • 每个类都有一个祖先链,这个链从自己所属的类开始,向上知道BasicObject类结束
  • 当调用一个方法时,Ruby首先来到接收者的类,然后向上查找祖先链,直到找到方法,或者到达链的顶端
  • 每当类包含一个模块时,该模块会被插入祖先链中,当前类的正上方
  • 当调用一个方法时,接收者是self
  • 当定义一个模块时,模块是self
  • 实例变量永远都会被认定为self
  • 任何没有明确指定接收者的方法调用,都当作main调用的
本文转自博客园xingoo的博客,原文链接:Ruby对象模型总结,如需转载请自行联系原博主。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值