0
0

More than 5 years have passed since last update.

TECH ~Day5~

Posted at

学習五日目を終えて、新たにまた新しい用語を学び始めました。
一旦レビュー管理アプリケーションを作る作業を終え、今回は「クラス」と「インスタンス」を学び始めました。
これを学びながら再びレビュー管理アプリケーションを作っていく作業を始めていきます。

学習内容
・クラスとインスタンス
・クラスの定義
・newメソッド
・クラスメソッド、インスタンスメソッド
・インスタンスの定義
・クラス変数、インスタンス変数

・クラスとインスタンス
クラス
とある種類のオブジェクトの共通の属性とメソッドをまとめて定義しておく型のようなもの。
(例)「人クラス」の場合
        性:名前、年齢、性別など
     メソッド:歩く、寝る、食べるなど

このような型を予め、定義しておくことによってこの方に沿った個別のオブジェクトを作ることができる。

インスタンス
クラスに基づいて生まれたオブジェクトをインスタンスと呼ぶ。
クラスが先。クラスからインスタンスが生まれるイメージ。
Rubyには予め定義されているクラスが存在する。
(例)
    配列オブジェクト:Arrayクラス
    数位オブジェクト:Integerクラス
  ハッシュオブジェクト:Hashクラス  など

・クラスの定義
書き方
 class クラス名
  !変数 / メソッドの定義
 end

(例)
 class Review

end
↑これはReviewクラスの定義
 もっともシンプルなクラスの定義の形

・newメソッド
定義したクラスからインスタンスを生成するには、「newメソッド」を使うとできる。
(例)
class Review
end

review = Review.new
この「あるクラス.new」というインスタンス生成のコードは、「クラスがメソッドを利用している」形である。

・クラスメソッド、インスタンスメソッド
クラスメソッド
 クラスが使用できる。クラスで共通の情報を使った処理に使用する。
 クラスの定義内で行う。

インスタンスメソッド
 インスタンスが使用できる。インスタンスごとの個別の情報(属性値)を使った処理に使用。

・インスタンスの定義
インスタンスメソッドの定義はインスタンスのクラスの「定義内」で行う。
書き方
class クラス名
def メソッド名
! 処理
end
end

・クラス変数、インスタンス変数
クラス変数
 クラス全体で使える変数。
 クラス内ではどこでも使えるため、クラスメソッド、インスタンスメソッドの両方で使える。
 クラスを通して、値が共通の情報に使用する。

インスタンス変数
 共通の属性としてインスタンスに定義できる変数。
 その値は個々のインスタンスによって別別に設定できる。

とりあえず五日目の学習内容は以上になります。
前回まで行っていた作業よりは理解しやすいないように感じました。引き続き学習に取り組みたいと思います。

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