0
0

More than 1 year has passed since last update.

モジュールのミックスイン

Posted at

複数のクラスに同じような機能が必要な場合

is-aの関係になくても複数のクラスにまたがって同じような機能が必要になるケースは存在します。

継承の使用を避ける場合にモジュールを使う

製品はユーザであるまたはユーザーは製品であるという関係が(is-aの関係)が成り立たないのであれば、継承の使用は避けるべきです。
その時にモジュールを使う。

モジュールのメソッドはどんなクラスにも使える

モジュールに定義したメソッドをProductクラスでもUserクラスでも呼び出すことができました。
モジュールをクラスにincludeして機能を追加することをミックスインという。

ミックスイン先のクラスは基本的にどんなクラスでもOK

ミックスインのもう一つの方法

モジュールをクラスにミックスインするもう一つの方法としてextendがある。
モジュール内のメソッドをそのクラスの特異メソッド(つまりクラスメソッド)にすることができる。

出典

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0