博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ruby对象模型总结
阅读量:7092 次
发布时间:2019-06-28

本文共 405 字,大约阅读时间需要 1 分钟。

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

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

转载地址:http://banql.baihongyu.com/

你可能感兴趣的文章
大型企业的渗透思路
查看>>
strace命令(收集整理,常看常新)
查看>>
Eclipse Console 加大显示的行数和禁止错误弹出
查看>>
$(document).height()与$(window).height()区别
查看>>
oracle字符集与客户端
查看>>
java线:辛格尔顿隐藏ThreadLocal实现线程数据共享
查看>>
MassTransit RabbitMQ 参考文档
查看>>
android 49 广播接收者中启动其他组件
查看>>
MySQL索引原理及慢查询优化
查看>>
JNI开发示例
查看>>
从netty-example分析Netty组件
查看>>
[经验]无线鼠标和无线键盘真的不能用了?——雷柏的重生之路~
查看>>
HTTP协议
查看>>
eclipse 创建maven 项目 动态web工程完整示例 maven 整合springmvc整合mybatis
查看>>
[Unit Testing] AngularJS Unit Testing - Karma
查看>>
Java NIO和IO的区别(转)
查看>>
Integer与int的区别(转)
查看>>
JavaScript 解决 onblur 与 onclick 冲突
查看>>
cocos2d-x 事件分发机制 ——加速计事件监听
查看>>
物理层
查看>>