継承 【inheritance】 インヘリタンス / クラス継承
概要
継承(inheritance)とは、オブジェクト指向プログラミングにおいて、あるクラスが既存の別のクラスの性質を受け継いでいること。あるクラスを元に別のクラスを作成することをサブクラス化という。継承関係にあるクラス間では、元になるクラス(スーパークラス、親クラス、ベースクラス、基底クラス、基本クラスなどと呼ばれる)の持つメソッドやプロパティなどが、新たに産み出されたクラス(サブクラス、子クラス、派生クラスなどと呼ばれる)に引き継がれ、その機能のすべてを利用することができる。
継承を利用することでコードの再利用性が高まり、汎用的・抽象的な機能の実装をスーパークラスに任せ、サブクラスにはその機能を利用した個別具体的なコードを書くだけでよくなる。例えば、バイト単位で入出力する汎用的なクラスを元に、ファイル入出力のクラスやネットワーク入出力のクラスを派生させることで、両者に共通するコードを何度も繰り返し記述する必要がなくなる。
言語によってはスーパークラスに複数のクラスを指定する「多重継承」を行なうことができ、様々なクラスの機能を同時に利用することができる。ただし、単純な多重継承はスーパークラス間でメソッド名が衝突した場合の対処など問題が起きやすいため、代わりにインターフェースやミックスイン、トレイトなどのコードを再利用する仕組みを用意している言語もある。
(2018.5.4更新)