0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【RUBY】クラスとインスタンスの概念

Last updated at Posted at 2022-12-13

はじめに

プログラミング初学者の者です。オンラインでプログラミングを学習させて頂いてるのですが、さらに理解を深めていきたいと思い、学習したことを備忘録として、残して理解を深めていきたいと思います。
また、間違った点など、ありましたら、ご指摘いただけると幸いです。よろしくお願いします。

クラス

クラスは、値の元となるものです。値の共通のルールを定義します。
ここで決めるルールは、共通の属性と処理(メソッド)です。
クラスを使えば、文字列が「こんにちは」や「どうも」という別々のデータを持つことができることと同じように、共通のルールを守った上で個別のデータを作ることもできます。
共通の情報をまとめ、個別の情報は各データごとに分けることで、開発・管理・保守がし易くなるという利点があります。
クラスは設計図に例えることができます。例えば、テレビの設計図があるとし、その設計図から実体のあるテレビが作り出されます。
クラスとは簡単に言ってしまえばひな形と言え、テレビで言えばテレビの設計図となるものです。
クラスは、共通の属性と処理を決めるだけで、実体がありません。
そのため、クラス単体ではデータを扱うことはできません。
クラスの定義の仕方はいかになります。

class クラス名
  # 変数やメソッドの定義
end

クラス名は半角英大文字から始めます。
例: User, Account, Image, Group, など

インスタンス

クラスから生成される、データを持ったインスタンスといい、クラスを元にして作られるデータのことです。
インスタンスは、クラスと異なり実体を持ちます。
テレビの設計図の例で言えば、設計図から作られて実際に販売されているテレビを指します。
インスタンスは、クラスが使用できるnewメソッドを実行して生成します。

クラスは、定義しなくてもnewという特別なメソッドをはじめから持っています。
newメソッドは、使用したクラスのインスタンスを生成して返します。

# インスタンスを生成し変数で扱う
変数名 = クラス名.new

多くの場合、インスタンスを生成したら、再利用するために変数へ代入します。
これは、インスタンスを生成したあとからデータを追加したり、メソッドを実行できるようにするためです。

class Television

end

flat_screen = Television.new  # Carクラスのインスタンスを生成
puts flat_screen  # インスタンスを出力
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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?