クラスの中にモジュールをインクルードする(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 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。