Ruby 《Ruby 元编程》读书笔记 (九)

lazybios · 2015年09月16日 · 最后由 lazybios 回复于 2016年06月26日 · 3045 次阅读

博客地址 :《Ruby 元编程》读书笔记 (九)

相关文章:

《Ruby 元编程》读书笔记 (一) 《Ruby 元编程》读书笔记 (二) 《Ruby 元编程》读书笔记 (三) 《Ruby 元编程》读书笔记 (四) 《Ruby 元编程》读书笔记 (五) 《Ruby 元编程》读书笔记 (六) 《Ruby 元编程》读书笔记 (七) 《Ruby 元编程》读书笔记 (八)

传神的头图↓↓↓

Ruby元编程

Ruby 对象模型的 7 条规则

  1. 只有一个对象 —— 要么是普通对象,要么是模块
  2. 只有一个模块 —— 可以是一个普通模块、一个类或者一个单件类
  3. 只有一个方法,它存在于一个模块中 —— 通常是一个类中
  4. 每个对象(包括类)都有自己的“真正的类”—— 要么是一个普通类,要么是一个单件类
  5. 除了 BasicObject 类没有超类外,每个类有且只有一个祖先 (superclass) —— 要么是一个类,要么是一个模块。这意味着任何类只有一条向上的,直到 BasicObject 的祖先链
  6. 一个对象的单件类的超类是这个对象的类;一个的单件类的超类是这个类的超类的单件类。(这条建议结合后面的附图来看!)
  7. 调用一个方法时,Ruby 先向右迈出一步进入接收者真正的类 (单件类),然后向上进入祖先链。

类方法

类方法其实质是生活在该类的单件类中的单件方法。其定义方法有三种,分别是:

# 法一
def MyClass.a_class_method; end


# 法二
class MyClass
    def self.anther_class_method; end
end


# 法三*
class MyClass
    class << self
        def yet_another_class_method; end
    end
end

其中第三种方法道出了,类方法的实质,特别记忆一下!

-待续-

=============== 最后贴一下自己的公众账号

可以十日不将军,不可一日不拱卒,日拱一卒 (rigongyizu365)

lazybios 《Ruby 元编程》读书笔记 (十六)[连载完结] 提及了此话题。 06月26日 10:50
lazybios 《Ruby 元编程》读书笔记 (十) 提及了此话题。 06月26日 10:50
lazybios 《Ruby 元编程》读书笔记 (十一) 提及了此话题。 06月26日 10:50
lazybios 《Ruby 元编程》读书笔记 (十二) 提及了此话题。 06月26日 10:50
lazybios 《Ruby 元编程》读书笔记 (十三) 提及了此话题。 06月26日 10:50
lazybios 《Ruby 元编程》读书笔记 (十四) 提及了此话题。 06月26日 10:50
lazybios 《Ruby 元编程》读书笔记 (十五) 提及了此话题。 06月26日 10:50
需要 登录 后方可回复, 如果你还没有账号请 注册新账号