チャーリーのC

技術系の記録をしていきます。

Ruby Part11

昨日やったこと

 

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

 

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

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

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

 

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

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

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

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

 と書いてあったので、

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

 

モジュールは、

module モジュール名

  モジュールの定義

end

で作れます。

 

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

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

 

 

おわり