【Python】オブジェクト指向プログラミング vol.3 ~クラスの定義方法~
前回のまとめ
- クラスとは管理対象となる情報と振る舞いを定義したテンプレートのこと
- インスタンスは、クラスの情報をすべて受け継いで生成されたオブジェクトのこと
クラスの定義方法
前回のテンプレートに該当するものがクラスです。クラスの定義方法は以下のとおりです。
classキーワードを使い、その右にクラス名を記述し、右にコロン(:)をつけます。慣例として最初の文字は大文字にします。
class Player: def __init__(self): self.name = name self.team = team self.position = position self.attack = attack self.special = special self.heart = heart self.technique = technique self.defense = defense c = Player() c.name = 'クリステファン・ローディ' c.team = 'R・マドリード' c.position = 'FW' c.attack= 409 c.special = 391 c.heart = 310 c.technique = 395 c.defense = 193 print('ポジション:',c.position) print('所属チーム:{}, 名前:{}'.format(c.team, c.name))
変数をPlayerクラスに8個作りました。
このテンプレートをもとにPlayer型のオブジェクトを作ります。クラスからオブジェクトを作る構文は、「クラス名()」です。
Player()
がクラスからオブジェクトを作る構文になります。こうすることで、同じテンプレートから異なるPlayer型オブジェクトを作成できます。
上のコードを実行すると以下のような結果が返ってきます。
ポジション: FW 所属チーム:R・マドリード, 名前:クリステファン・ローディ
オブジェクトの変数にアクセスするには、ドット(.)を使います。c.name
やc.defence
のように書けます。
今回クラスにデータを持たせる際にdef __init__
内に定義しました。上のコードではdef __init__
がなくても同じ結果を返してくれます。
次回__init__
(コンストラクタ)についてまとめます。