【Ruby/クラス ざっくりまとめ】プロを目指す人のためのRuby入門

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

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

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

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

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

基礎知識

  • クラスを使うメリット
    • 堅牢なプログラムを作りやすい
    • 新しく属性(データ項目)を追加したり、内容の変更を防止することもできる
    • クラス内部にメソッドを追加することができる
  • 基本用語
    • クラス
      • オブジェクトの設計図/雛形
    • オブジェクト、レシーバー、インスタンス
      • クラスから生成された個体
    • メソッド、メッセージ、(関数、サブルーチン)
      • オブジェクトがもつ動作、振る舞い
    • 状態、ステート
      • オブジェクトごとに保持されるデータ
    • 属性、アトリビュート、プロパティ
      • オブジェクトから取得できる値

クラスの定義

  • initializeメソッド
    • クラスからオブジェクトを作成する場合に呼ばれるメソッド
    • インスタンスを初期化するために実行したい処理を実装する
  • インスタンスメソッド
    • クラス構文の内部でのメソッド
  • インスタンス変数
    • 同じインスタンスの内部で共有される変数
    • ローカル変数は、メソッドやブロック(≠インスタンス)で共有される変数
    • 外部から参照、変更するためにはメソッドの定義が必要
  • クラスメソッド(特異メソッドの一部)
    • インスタンスに含まれるデータ(@nameなど)は使わないメソッド
  • メソッドの表記
  • 定数
    • クラス直下に定義する
    • 表記はクラス名::定数名

selfキーワード

  • クラスメソッドやクラス構文直下のself
    • クラス構文直下やクラスメソッド内ではクラスを参照
    • インスタンスメソッドではインスタンスを参照

まとめ

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

コメントを残す

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