Day 87継承の基本を理解する
Pythonコード
1class Animal:2 def __init__(self, name):3 self.name = name4 def sound(self):5 print('動物が鳴きます')6 7class Dog(Animal):8 def __init__(self, name):9 super().__init__(name)10 def sound(self):11 print('犬が吠えます')12 13dog = Dog('ポチ')14print(dog.name)15dog.sound()
解説
- 行1〜5: Animalクラスを定義します。このクラスには、__init__メソッドとsoundメソッドが含まれています。__init__メソッドは、クラスが初期化される時に呼ばれます。soundメソッドは、動物が鳴く時の動作を定義します。print()関数は、画面に文字や値を表示する関数です。
- 行7〜11: Dogクラスを定義します。このクラスは、Animalクラスを継承しています。つまり、DogクラスはAnimalクラスのすべてのメソッドと属性を利用できます。super().__init__(name)は、親クラスの__init__メソッドを呼び出します。
- 行13〜15: Dogクラスのインスタンスを作成し、name属性とsoundメソッドを利用します。
次に試してみよう
- Dogクラスに新しいメソッドを追加してみましょう。
- Animalクラスに新しい属性を追加してみましょう。
- 別の動物クラス(例:Catクラス)を作成してみましょう。