継承まとめ
ここまでに示した内容を全てまとめたプログラムを示す。
code:inheritance_all.py
class Animal:
def __init__(self, name):
self.name = name
def talk(self):
print('私の名前は', self.name, 'です')
class Dog(Animal): # (1)
def voice(self):
print('犬はバウワウと吠える')
class Cat(Animal):
def __init__(self, name): # オーバーライド
self.name = name
self.spicies = 'Cat'
def talk(self):
print('私は', self.spicies, 'の', self.name, 'です')
def voice(self):
print('ネコはニャーと鳴きます')
class Pig(Animal):
def __init__(self, name):
super().__init__(name)
print('親クラスのコンストラクタを使ってインスタンスを初期化しました')
def talk(self):
print('親クラスのメソッドを使って自己紹介:', end='')
super().talk()
def voice(self):
print('ブタはブーと鳴きます')
print('# 実験1')
d1 = Dog('Pochi') # ポチ・インスタンス
d1.talk()
d1.voice()
print('# 実験2')
c1 = Cat('Mike') # ミケ・インスタンス
c1.talk()
c1.voice()
print('# 実験3')
p1 = Pig('Hana') # ハナ・インスタンス
p1.talk()
p1.voice()
/icons/hr.icon
※ ブラウザのバックボタンで戻る