抽象クラス3
まとめ
code:abc3.py
from abc import ABCMeta, abstractmethod
class Animal(metaclass=ABCMeta):
@abstractmethod
def __init__(self, name, spicies):
self.name = name
self.spicies = spicies
@abstractmethod
def voice(self):
pass
def talk(self):
print('私は', self.name, 'という名前の', self.spicies, 'です')
class Dog(Animal):
def __init__(self, name):
self.name = name
self.spicies = 'INU'
def voice(self):
print('犬はバウワウと吠えます')
class Cat(Animal):
def __init__(self, name):
super().__init__(name, 'NEKO')
def voice(self):
print('ネコはニャーと鳴きます')
d1 = Dog('Pochi') # ポチ・インスタンス
d2 = Dog('Patrash') # パトラッシュ・インスタンス
c1 = Cat('Mike') # ミケ・インスタンス
c2 = Cat('Tama') # タマ・インスタンス
d1.talk()
d2.talk()
d2.voice()
c1.talk()
c2.talk()
c1.voice()
/icons/hr.icon
※ ブラウザのバックボタンで戻る