python|クラスの継承について
記事No.89
更新日時2023年03月23日
クラスを継承する方法について解説します。
class Singer: """歌手クラス""" def __init__(self, name, age): self.name = name self.age = age def introduce(self): print(f"私の名前は{self.name}です。{self.age}歳です。") def sing(self): print("歌う") class Dancer: """ダンサークラス""" def __init__(self, name, age): self.name = name self.age = age def introduce(self): print(f"私の名前は{self.name}です。{self.age}歳です。") def dance(self): print("踊る")
ここに書いたコードには、Singerクラスと、Dancerクラスが定義されています。
2つのクラスを見比べると、__init__メソッドと、introduceメソッドが共通しているのが分かります。
これは、プログラミングにおけるDRY(Don't repeat yourself)の原則に反しています。
DRYの原則に従い重複しているコードを減らす事で、コードの可読性、保守性が高くなります。
ここで解説する、クラスの継承を行う事で、コードの重複を防ぐ事ができます。
#Personクラスを作成しSingerクラスとDancerクラスの共通メソッドを定義する class Person: """人クラス""" def __init__(self, name, age): self.name = name self.age = age def introduce(self): print(f"私の名前は{self.name}です。{self.age}歳です。") #Personクラスを継承する class Singer(Person): """歌手クラス""" def sing(self): print("歌う") #Personクラスを継承する class Dancer: """ダンサークラス""" def dance(self): print("踊る")
この様に、各クラスで共通するメソッドをまとめ、継承する事ができます。
コメントフォーム