模組和類組合
你可以使用模組通過組合構建更復雜的類。include ModuleName
指令將模組的方法合併到一個類中。
module Foo
def foo_method
puts 'foo_method called!'
end
end
module Bar
def bar_method
puts 'bar_method called!'
end
end
class Baz
include Foo
include Bar
def baz_method
puts 'baz_method called!'
end
end
Baz
現在包含 Foo
和 Bar
的方法以及它自己的方法。
new_baz = Baz.new
new_baz.baz_method #=> 'baz_method called!'
new_baz.bar_method #=> 'bar_method called!'
new_baz.foo_method #=> 'foo_method called!'