今回は前回までの続き、クラスを紹介します。
クラス
クラスはプログラミング初学者にとてもつまづきやすいポイントになりますが、これを知っておくとそうでないとでは実際にプロダクト制作をするときにえらくかわってくるので、しっかり理解しましょう。
※ クラスは今回から数回に分けて説明します。
ストーリーをつくってみました。
クラスの必要性を理解していただくために、以下のようなストーリーを作ってみました。
以下はゲームのキャラクターを作るという目的でクラスを作っていきます。 ひとつひとつ、順を追って理解していきましょう。
# Characterという名前のクラスを作ります。 # まずは、クラス内で何も処理をしません。 class Character: pass
これを実行しただけでは何も起きません。
このクラスはテンプレートを作ったに過ぎないので、これを実態化するためのインスタンスを作ります。
# 変数yusyaとkenjaにそれぞれインスタンスを作成してみましょう。
yusya = Character()
kenja = Character()
これで勇者と賢者のインスタンスができましたが、表示は何もありません。
クラス内の変数をアトリビュートなんて呼んだりもしますが、それぞれのインスタンスにアトリビュートを設定してあげましょう。
yusya.job = "勇者" yusya.HP = 100 yusya.weapon = "はがねの剣" kenja.job = "賢者" kenja.HP = 70 kenja.weapon = "魔法の杖"
設定しただけなので、これも何も表示がありません。
表示してみます。
# 表示してみましょう。 print("---------------") print(yusya.job) print(yusya.HP) print(yusya.weapon) print("---------------") print(kenja.job) print(kenja.HP) print(kenja.weapon) print("---------------")
先ほど設定した値が表示されました。
このように、インスタンスごとにパラメータを保持することができるのがクラスの利点のひとつです。
次回以降もうちょっと掘り下げてみようと思います。