クラス継承は、あるクラスから新しいクラスを作成する際に、既存のクラスの属性やメソッドを再利用できるようにする機能です。これにより、コードの再利用性や保守性が向上し、効率的なプログラミングが可能になります。
class継承の前に、そもそもclass(クラス)って何?と思われる方はclassに関する記事を以下にまとめているので、よかったら見てみて下さい。
[Python] classって何?
クラスは、オブジェクト指向プログラミング(OOP)の基本的な概念の一つです。OOPでは、プログラムを構成する要素を「オブジェクト」として考えます。オブジェクトとは…
目次
クラス継承の基本的な書き方
クラス継承を行うには、新しいクラスを定義する際に、以下のように「親クラス名」を指定します。
class ChildClass(ParentClass):
pass
これにより、ChildClassはParentClassの属性やメソッドを継承し、新たに追加することができます。
サンプルコードとして、以下のような親クラス「Person」を定義し、その子クラス「Employee」を定義する例を示します。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def say_hello(self):
print(f"Hello, my name is {self.name}.")
class Employee(Person):
def __init__(self, name, age, employee_id):
super().__init__(name, age)
self.employee_id = employee_id
def say_employee_id(self):
print(f"My name is {self.name}.")
print(f"I am {self.age} years old.")
print(f"My employee ID is {self.employee_id}.")
この例では、Personクラスが「name」と「age」の属性と、「say_hello」のメソッドを持っています。そして、EmployeeクラスはPersonクラスを継承し、さらに「employee_id」と「say_employee_id」のメソッドを追加しています。こうすることで、EmployeeクラスはPersonクラスの属性とメソッドを再利用しつつ、新たな機能を実現することができます。
上記クラスを利用するためには以下の書きます。
person = Person("john",30)
person.say_hello()
# person.say_hello()の出力結果
# -> Hello, my name is john.
emp = Employee("john",30,1344)
emp.say_employee_id()
# emp.say_employee_id()の出力結果
# -> My name is john.
# -> I am 30 years old.
# -> My employee ID is 1344.
まとめ
クラス継承は、既存のクラスを再利用しながら新しいクラスを作成することができる重要な機能です。継承を使うことで、コードの再利用性や保守性を向上させ、より効率的なプログラミングを実現することができます。