レッスン2 / 3問目

『クラスの継承』

このレッスンではクラスの継承について学習していきましょう。クラスの継承とはその名の通りクラスの内容を継承する(引き継ぐ)ことです。クラスを継承するには以下のように記述します。

class クラス名(継承するクラス名):

このようにクラス名に続けて「継承するクラス名」を記述することでクラスの内容を引き継ぐことができます。

ちなみにこの継承される側のクラスを親クラススーパークラスと呼びます。また、継承する側のクラスを子クラスと呼びます。

では具体例を見ていきましょう。少し長い例文となりますが、今まで使ってきたDogクラスの例文をAnimalクラスとDogクラスに分割しただけです。以下の例ではDogクラスがAnimalクラスを継承しAnimalクラスの内容を引き継いでいることに着目してください。

  1. class Animal:
  2.     def __init__(self, name):
  3.         self.name = name
  4.     def walk(self):
  5.         print(self.name + "は散歩している。")
  6. class Dog(Animal): # Animalクラスを継承
  7.     def bark(self):
  8.         print("わん!")
  9. dog = Dog("ポチ")
  10. dog.walk() # Animalクラスのメソッドを使用
ポチは散歩している。    # 親クラスAnimalのwalkメソッドが継承されている

このように継承を使うと親クラスの内容を引き継ぐことができます。「class クラス名(親クラス)」と記述するだけで簡単に継承することができるため非常に便利な機能です。

継承の説明は以上となります。
現時点では継承をどんな場面での使うのか、またその便利さが実感できないと思います。以降のレッスンで継承を使う場面があります。今は「class クラス名(親クラス)」と記述すると親クラスの内容を引き継ぐことができるという点を押さえておきましょう。

では練習問題ににチャレンジしましょう。

Lesson1

CatクラスでAnimalクラスを継承してください。

Lesson2

継承したAnimalクラスのwalkメソッドを呼び出してください。

Last updated:2019/10/12

ミケは散歩している。
  1. class Animal:
  2. def __init__(self, name):
  3. self.name = name
  4. def walk(self):
  5. print(self.name + "は散歩している。")

  6. # 1. Animalクラスを継承してください
  7. class Cat(Animal):
  8. def scream(self):
  9. print("ニャー!")

  10. cat = Cat("ミケ")
  11. # 2. 継承したwalkメソッドを呼び出してください
  12. cat.walk()
main.py
設定
g
n
i
d
a
o
L