カテゴリー
サインイン 新規登録

間違いや改善の指摘

内容の技術的な誤り・誤字脱字やミスのご報告・解説やトピックの追記/改善のご要望は教材をさらに良くしていく上でとても貴重なご意見になります。

少しでも気になった点があれば、ご遠慮なく投稿いただけると幸いです🙏

実際には誤りではなく勘違いであっても、ご報告いただけることで教材のブラッシュアップにつながります。

質問ポリシー①

教材受講者みなさんのスムーズな問題解決のために、心がけていただきたいことがあります。

教材の内容に関する質問を投稿しましょう

教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。

その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。

2-10

クラスとインスタンスについて

クラス class

クラスとはオブジェクトの設計書のようなもので、オブジェクトの中のプロパティやメソッドをひとまとめにしたものです。

インスタンス instance

インスタンスとはクラスから生成された、実体です。

クラスが人の設計図だとすれば、インスタンスは一人の人間の実体です。設計図であるクラスからオブジェクトを作ることをインスタンス化と呼びます。

クラスは設計図でインスタンスは、設計図から生成されたものです。

例えば、たい焼きならたい焼き機はクラスで、生成されたインスタンスはたい焼きです。

alt

クラスとインスタンスのメリット

クラスとインスタンスを使うことで、処理と処理を干渉させずに、処理や変数を分割して作っていくことができます。

クラスとインスタンスを初めて学ぶときは理解がしづらく、誰もが難しく感じます。実際にコードを書い、繰り返し学習しながら、少しずつ理解していきましょう。

クラスを作ろう

車のクラスを作ってみましょう。
「class クラス名」でクラスを生成できます。

ruby
12
Copied!
class クラス名 end

「Car」という車のクラスを作ります。

test.rbを以下のコードのように編集してください。

ruby
12
Copied!
class Car end

インスタンスを作ろう

下記のコードのCarクラスの中にinitializeメソッドがありますが、initializeメソッドはインスタンスを生成したとき、実行される処理をまとめたメソッドです。

インスタンスを生成するときはインスタンス名 = クラス名.newというコードで生成できます。

test.rbを以下のコードのように編集してください。

ruby
12345678
Copied!
class Car def initialize(name) puts name ## Car.new("xxxx")が出力される end end car1 = Car.new("ベンツ") ## Carクラスのinitializeメソッドのname変数に"ベンツ"が入る car2 = Car.new("プリウス") ## Carクラスのinitializeメソッドのname変数に"プリウス"が入る

car1やcar2のインスタンスを作成した時このような処理の順番で行われます。

alt

コードを追加したら、ターミナルに以下のコマンドを実行してください。

Copied!
$ ruby test.rb

alt

以上で今回のパートは終了です。

お疲れ様でした。