RubyPart11

2017/11/18

昨日やったこと

 

昨日はモジュールからやりました。

 

クラスとモジュールの異なる点

・モジュールはインスタンスを持つことができない

・モジュールは継承できない

 

どう使えばいいのかよくわからないですが、

Mix-inによる機能の提供に、

・2つのクラスは似たような機能を持っているだけで、同じ種類(クラス)と考えたくない

・Rubyの継承は複数のスーパークラスを持てない仕様になっているため、すでに継承を行っていると、うまく共通機能を追加することができない

 と書いてあったので、

2つのクラスに共通して提供したいメソッドがあるときに使えばいいんだと思います。

 

モジュールは、

module モジュール名

  モジュールの定義

end

で作れます。

 

メソッドをモジュール関数として外部に公開するには、module_functionを使う必要があるみたいです。

moduleのサンプルなどに書いてあったので覚えておきたいです。

 

 

おわり