10.3継承

継承(Inheritance)は、オブジェクト指向プログラミングの中心的な概念で、あるクラスの特性(属性とメソッド)を別のクラスが引き継ぐことを指します。継承を用いることで、既存のコードを再利用し、新たなクラスを効率的に作成することが可能になります。

継承は、"親クラス"(または"基底クラス"、"スーパークラス"とも呼ばれます)から"子クラス"(または"派生クラス"、"サブクラス"とも呼ばれます)へ特性が引き継がれる形で行われます。子クラスは親クラスの特性を受け継ぎつつ、新たな属性やメソッドを追加したり、親クラスのメソッドをオーバーライド(上書き)することも可能です。

Pythonでの継承の基本的な文法は次のようになります:

class BaseClass: pass class DerivedClass(BaseClass): pass

この例では、DerivedClassBaseClassから継承しています。これにより、DerivedClassBaseClassのすべての公開属性とメソッドにアクセスできます。

継承を利用することで、以下のような利点があります:

  1. コードの再利用(Reusability):親クラスのコードを子クラスが再利用できるため、同じコードを何度も書く必要がありません。

  2. コードの組織化(Organizing Code):関連するクラスを一緒にグループ化することができ、コードの読みやすさとメンテナンス性を向上させます。

  3. 拡張性(Extensibility):既存のクラスを基にして新たなクラスを作ることが容易になります。

  4. 多態性(Polymorphism):親クラスの型として子クラスのインスタンスを扱うことができます。これにより、異なるクラスのインスタンスを同様に扱うことができます。