【Ruby/モジュール ざっくりまとめ】プロを目指す人のためのRuby入門

絶賛転職活動中なのですが、「企業から課されるRubyのコーディングテスト」や「Railsのアプリ改修」をするにあたって、オブジェクト指向的な考えがわからず、苦戦してしまうことが多いです。

ここでいう「オブジェクト指向的な考え」とは、具体的には「クラス」と「モジュール」に関する考え方です。

僕は6ヶ月ほどRuby/Railsの学習をしており、ポートフォリオ開発を通して、CRUD機能ならおおよそ理解し実装できるレベルではありますが、まだまだ学習不足だなと感じている次第です。

そこで、名著『プロを目指す人のためのRuby入門』の中から、「クラス」と「モジュール」についてまとめることとしました。

結果的に、「書籍を読む(インプットする)」→「ブログにまとめる(アウトプットする)」を通して、理解度が上がっていますよ。

それでは、本記事では、「モジュール」についてざっくりとまとめていきます。

モジュールの概要

  • 大規模なプログラムで利用することが多い
  • モジュールの用途
    • インスタンスメソッドの追加
    • 特異メソッド(インスタンスメソッド)の追加
    • 名前空間を作成
    • 関数的メソッドの定義
    • 設定値を保持(シングルトンオブジェクト的利用)
  • 特徴
    • モジュールからインスタンスを作成することはできない
    • 他のモジュールやクラスを継承することはできない

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

  • コードは重複しているが、「is-a関係」でない時に共通機能をもたせたい時に利用
  • モジュールをクラスにincludeして機能を追加することを「ミックスイン」と呼ぶ
  • モジュールをクラスにextendするとクラスの特異メソッドとして利用できる(ミックスインの1種)

 

名前空間の作成

  • 大規模なプログラム開発で利用することが多い
  • 用途
    • 名前の衝突回避
    • グループ/カテゴリ分け
  • モジュール構文の中にクラスを定義する

関数(メソッド)や定数を定義する

  • クラスにミックスインせず、モジュール単体で利用する(includeやextendしない)

状態を保持する

まとめ

本記事では、モジュールについて簡単にまとめました。
モジュールについて、新しい情報をキャッチしたら、本記事に反映していきたいですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です