Ruby繼承鏈

module M1
end

module M2
end

module M3
end

module M4
end

class Hello
  include M1
  include M2

  # This is the position of class self

  prepend M3
  prepend M4
end

p Hello.ancestors
# M4, M3, Hello, M2, M1, Object, Kernel, BasicObject

列出類繼承鏈的技巧:ruby

  1. include 的模塊按順序排在上面部分code

  2. prepend 的模塊按順序排在下面部分繼承

  3. 將類自己放在 includeprepend 的中間位置it

  4. 繼承順序就是從下往上數,包括類自己io

相關文章
相關標籤/搜索