【Python】クラスとインスタンス を勉強する! 【制作物も作ろう】
制作物の確認
レジ機能(簡易版)をつくる!
point:ここを覚えておく!
”モノ”をつくる際には必ず1つの"モノ"に対し1つの情報があるということ
メニューというモノをつくる
point:重要
設計図が必要
つまり...
設計図 = クラス
モノ = インスタンス
このようになる。※上記のイコールは同じ意味を指す※
クラスの定義づけ
それではここからが本題。
クラスの定義づけはどのようにすれば良いのだろう。
設計図の基本は... :
class クラス名:
このように定義づけをする。
必ず行末にコロンをつけ忘れないようにすること!
次にすること:インデントする
コロンよりインデント(改行)してから書き始める
※何も処理がない場合、pass と書いておけば良い
クラスからインスタンスを生成しよう
上記の説明のみで、クラス(設計図)を生成することができた。
次にすることは"クラスからのインスタンスを生成すること" が目標である。
point: インスタンスを生成する
クラス名()とそのクラス名を呼び出す
変数名 = クラス名() このように表記する。
すると、生成したインスタンスを変数名に代入することができるようになる。
インスタンスに情報を追加しよう
上記のインスタンスにさらに情報を追加する方法
point: 決まった名前はない。自由だ。
インスタンスメニューには好きな名前をつけよう
Ex. : name = 純米酒 price = 1500
このようにname には純米酒という情報、price には1500という情報を持っていることが分かる。
インスタンス変数の名前・書き方を覚えよう
point:
1⃣menu_item1 = MenuItem()
2⃣menu_item1.name = '純米酒'
menu_item1.name = '純米酒'」とする
さらに
"「name」が「純米酒」である"という情報を、menu_item1に追加することができます。
この時、「name」のことを「インスタンス変数」と呼びます。
インスタンス変数を用いてみよう
point: インスタンス変数の値を用いる
Ex.
print(menu_item.name)
これで完璧😁
複数のインスタンス
インスタンスごとに情報を持つことを確認しよう
上記までは、インスタンスに情報を持たせることができた。
次は、インスタスンスごとに違う情報を持たせることを目標とする。
先程まではmenu_item1 のみ情報をもたせた。
次はmenu_item2,3,4...と複数のインスタンスを生成する。
point: クラスのインスタンスを生成、menu_item2にそれぞれ名前、金額を代入・出力させる。
これらは上記の方法と同じなので割愛。繰り返し行を書いていけば無限に違うインスタンス情報をもたせる事ができるようになる。
よし、次は本格的に”料理注文システム”をつくるようにします!
→