はじめに
プログラミング初学者の者です。オンラインでプログラミングを学習させて頂いてるのですが、さらに理解を深めていきたいと思い、学習したことを備忘録として、残して理解を深めていきたいと思います。
また、間違った点など、ありましたら、ご指摘いただけると幸いです。よろしくお願いします。
クラス
クラスは、値の元となるものです。値の共通のルールを定義します。
ここで決めるルールは、共通の属性と処理(メソッド)です。
クラスを使えば、文字列が「こんにちは」や「どうも」という別々のデータを持つことができることと同じように、共通のルールを守った上で個別のデータを作ることもできます。
共通の情報をまとめ、個別の情報は各データごとに分けることで、開発・管理・保守がし易くなるという利点があります。
クラスは設計図に例えることができます。例えば、テレビの設計図があるとし、その設計図から実体のあるテレビが作り出されます。
クラスとは簡単に言ってしまえばひな形と言え、テレビで言えばテレビの設計図となるものです。
クラスは、共通の属性と処理を決めるだけで、実体がありません。
そのため、クラス単体ではデータを扱うことはできません。
クラスの定義の仕方はいかになります。
class クラス名
# 変数やメソッドの定義
end
クラス名は半角英大文字から始めます。
例: User, Account, Image, Group, など
インスタンス
クラスから生成される、データを持ったインスタンスといい、クラスを元にして作られるデータのことです。
インスタンスは、クラスと異なり実体を持ちます。
テレビの設計図の例で言えば、設計図から作られて実際に販売されているテレビを指します。
インスタンスは、クラスが使用できるnewメソッドを実行して生成します。
クラスは、定義しなくてもnewという特別なメソッドをはじめから持っています。
newメソッドは、使用したクラスのインスタンスを生成して返します。
# インスタンスを生成し変数で扱う
変数名 = クラス名.new
多くの場合、インスタンスを生成したら、再利用するために変数へ代入します。
これは、インスタンスを生成したあとからデータを追加したり、メソッドを実行できるようにするためです。
class Television
end
flat_screen = Television.new # Carクラスのインスタンスを生成
puts flat_screen # インスタンスを出力