はじめに
Rubyを学習していて出てくる、
クラスとインスタンスの概念。
初学時にどういう意味かさっぱりわからなかったので、
例を挙げながら書いていきます。
クラスとは
値(データ)に持たせたい、共通の属性と処理に関するルールを決めるための雛形。
実体を持たないので、クラスだけではデータを動かせません。
例) 車でいうと「設計図」にあたる。
設計図は、色や形(共通の属性)をどうするかとか、
走る、止まる、ウィンカーを出すなど(共通の処理)をどうするか、
などが書かれた紙。
あくまで設計図なので、車(インスタンス)がないと動かない。
# クラスの定義(大文字で始める)
class Car
end
インスタンスとは
クラスを元にして作られるデータのこと。
実体を持っており、クラスで定義した共通の属性と処理を持っています。
例) 車でいうと「車」にあたる。
車は、色や形(共通の属性)を持っていて、
走る、止まる、ウィンカーを出すなど(共通の処理)ができる。
設計図から作られた車そのものなので、実体もあるし、もちろん動く。
# インスタンスの生成
class Car
end
taxi = Car.new # newメソッドでCarクラスのインスタンスを生成して、変数taxiに代入
puts taxi # インスタンスを出力