継承の基本的な考え方
他のクラスで定義されたメソッドや変数を引き継ぐことを継承(インヘリタンス)という。継承元をスーパークラス(親クラス / 基底クラス)といい、継承先をサブクラス(子クラス / 派生クラス)という。
書式:
class 【サブクラス名】( 【スーパークラス名】):
【クラス定義】
継承を行うには、クラス定義文の1行目にスーパークラスの名前を記述する。
code:inheritance1.py
class Animal:
def __init__(self, name):
self.name = name
def talk(self):
print('私の名前は', self.name, 'です')
class Dog(Animal): # (1):継承
def voice(self):
print('犬なのでバウワウと吠えます')
print('# 実験1')
d1 = Dog('Pochi') # ポチ・インスタンス
d1.talk()
d1.voice()
(1)においてDogクラスはAnimalクラスを継承した。その結果、
AnimalクラスはDogクラスのスーパークラス
DogクラスはAminalクラスのサブクラス
となり、Dogクラスは自身が有するメソッドに加え、Animalクラスが有するメソッドをもつようになる。
code:Figure
Animal
├─ __init__
└─ talk
Dog(Animal)
├─ __init__ # 継承
├─ talk # 継承
└─ voice
https://scrapbox.io/files/652c88f4a31fb3001c04286b.png
/icons/hr.icon
※ ブラウザのバックボタンで戻る