Day 88メソッドのオーバーライド
Pythonコード
1class Animal:2 def sound(self):3 print('動物が鳴きます')4 5class Dog(Animal):6 def sound(self):7 print('犬が吠えます')8 9dog = Dog()10print(dog.sound())
解説
- 行1〜3: Animalクラスを定義し、soundメソッドを定義しています。このメソッドは、動物が鳴くときの音を表します。print関数は、指定した文字列を画面に表示するための関数です。
- 行5〜7: Dogクラスを定義し、Animalクラスを継承しています。つまり、DogクラスはAnimalクラスのすべてのメソッドと属性を引き継いでいます。また、soundメソッドをオーバーライドしています。オーバーライドとは、親クラスのメソッドと同じ名前のメソッドを子クラスで定義することです。
- 行9〜10: Dogクラスのインスタンスを作成し、soundメソッドを呼び出しています。ただし、soundメソッドは戻り値がないため、print関数で呼び出すとNoneが表示されます。
- 行3〜10: 補足: print() は画面に文字や値を表示する関数です。
次に試してみよう
- Dogクラスに新しいメソッドを追加してみましょう
- Animalクラスに新しいメソッドを追加してみましょう
- 別のクラスを作成し、Animalクラスを継承してみましょう