Pythonでは、クラスの継承は非常に重要な概念です。クラス継承を使用すると、既存のクラス(基底クラス)から新しいクラス(派生クラス)を作成できます。これにより、コードの再利用性と効率性が向上します。
シングルクラス継承
Pythonでは、一つの基底クラスから派生クラスを作成することができます。以下に例を示します。
class Creature(object):
def __init__(self, level=1, weapon=None):
self.level = level
self.hp = 0
self.mp = 0
self.attack = 0
self.defence = 0
self.weapon = weapon
self.job = "neet"
def status(self):
return "Job:{} | HP:{} | MP:{} | Atk:{} | Def:{} | Weapon:{}".format(self.job, self.hp, self.mp, self.attack, self.defence, self.weapon)
class Warrior(Creature):
def __init__(self, level):
super().__init__(level)
self.attack += 3 * level
if self.weapon is None:
self.weapon = "sword"
if self.job == "neet":
self.job = "Warrior"
else:
self.job += "Warrior"
この例では、Creature
という基底クラスを定義し、その後でWarrior
という派生クラスを作成しています。Warrior
クラスはCreature
クラスのすべての属性とメソッドを継承し、さらに新たな属性とメソッドを追加しています。
多重クラス継承
Pythonでは、複数の基底クラスから派生クラスを作成することも可能です。これを多重継承と呼びます。以下に例を示します。
class MagicWarrior(Warrior, Magician):
def __init__(self, level):
super().__init__(level)
この例では、MagicWarrior
という新しいクラスはWarrior
とMagician
の両方のクラスから継承しています。これにより、MagicWarrior
クラスは両方の基底クラスの属性とメソッドを利用できます。
以上がPythonでのクラス継承の基本的な使い方です。これらの概念を理解し、適切に使用することで、より効率的で再利用可能なコードを書くことができます。