クラスの中にモジュールをインクルードする(Mix-in)
モジュールはクラスの中にインクルードして利用することができます。このような利用の仕方を Mix-in と呼びます。ここでは Ruby でクラスの中にモジュールをインクルードして利用する方法について解説します。
(Last modified: )
クラスの中にモジュールをインクルードする
クラスの中にモジュールをインクルードして利用する方法です。例として次のようなモジュールを定義しました。
module CalcModule
def heikin(x, y)
return (x + y) / 2
end
end
クラスの中でモジュールを利用できるようにするにはクラスの中に次のように記述します。
include モジュール名
include のあとにモジュール名を記述してください。インクルードされたモジュールの中で定義されたメソッドは、クラス内のインスタンスメソッドと同じように実行する事ができます。例えば次のようなクラスを作成してみます。
module CalcModule
def heikin(x, y)
return (x + y) / 2
end
end
class Dentaku
include CalcModule
def dispValue(x, y)
num = heikin(x, y)
puts("平均値は" + num.to_s)
end
end
このクラスでは CalcModule をインクルードしているので、 CalcModule モジュールの中で定義されているメソッドをクラスの中から呼び出すことができます。
では実際にサンプルプログラムを作成してみます。
# encoding: UTF-8
module CalcModule
def heikin(x, y)
return (x + y) / 2
end
end
class Dentaku
include CalcModule
def dispValue(x, y)
num = heikin(x, y)
puts("平均値は" + num.to_s)
end
end
dentaku = Dentaku.new
dentaku.dispValue(10, 8)
上記を実行すると次のように表示されます。
-- --
Ruby でクラスの中にモジュールをインクルードして利用する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。