分享 <Ruby 元编程>思维导图 2 (对象模型)

flingjie · 2014年05月03日 · 最后由 meeasyhappy 回复于 2014年05月04日 · 3424 次阅读

在 Ruby 程序中,除了对象之外,还有类、模块以及实例变量这些语言构件。这些语言构件存在于其中的系统称为对象模型。在对象模型中,你可以找到诸如"这个方法来自哪个类"和"当我包含这个模块是会发生什么"此类问题的答案。

  • 注 1: class 关键字更像是一个作用域操作符而不是类型声明语句,它的确可以 创建一个还不存在的类,不过也可以把这看成是一个副作用。对于 class 关键 字,其核心任务是把你带到类的上下文中,让你可以在其中定义方法。

  • 注 2: 修改已有类的特性时,由于粗心导致 bug,像这种鲁莽的修改方式被称为 猴子补丁。不过,如果是正确的运行打开类这种技术,猴子补丁也可以表示为 一个褒义词,会很有用。

  • 注 3: 对象是一组实例变量外加一个指向其类的引用。对象的方法并不存在于对象本身,而是存在于对象的类中。在类中,这些方法被称为类的实例方法。类是一个对象(Class 类的一个实例)外加一组实例方法和一个对其超类的引用。值得注意的是,实例变量存放在对象中,而方法存放在类中。

  • 注 4: 一个类只不过是一个增强的 Module,它只是在 Module 基础上增加了三个 方法——new()、allocate() 和 superclass() 而已,结构如下。

  • 注 5: 每个类都有一个祖先链,这个链从自己所属的类开始,向上直到 BasicObject 结束。其中,Object 类包含了 Kernel 模块,故 Kernel 方法对所有对象可用。

楼主图是用什么生成的?

@hntee 我用的是 xmind

鞭屁入里 呀 呵呵

需要 登录 后方可回复, 如果你还没有账号请 注册新账号