moduleの組み込み前回のつずき

https://qiita.com/go8/items/db936ff7312ba7d97315#%E8%A4%87%E6%95%B0%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%ABinclude%E7%B7%A8

このサイトを参考に試してみる

moduleを組み込む前回の復習

ファイル名:practice_main.rb

require './practice'
require './practice2'

Practice2.lala

p2 = Practice2.new
p2.mama
p2.papa

ファイル名:practice.rb

class Haha
  class << self
    def lala
      puts "クラスタンスメソッド"
    end
  end
end

ファイル名:practice2.rb

require "./fur"
require "./claw"

class Practice2 < Haha
  include Fur
  include Claw
end

ファイル名:fur.rb

module Fur
  def papa
    puts "fur_moduleのなかのpapaメソッド"
  end
end

ファイル名:claw.rb

module Claw
  def mama
    puts "practice.rbののpapaメソッドを置き換えた"
  end
end

このコードで実行すると

ruby practice_main.rb

クラスタンスメソッド

practice.rbののpapaメソッドを置き換えた

fur_moduleのなかのpapaメソッド

 

このように出力された

requireで取得したものの上書きまでできてる