×
データ構造とアルゴリズム

継承は、クラス間に「is-a関係(AはBの一種である)」が成り立つ場合に用いられます。例えば「犬 is an 動物(犬は動物の一種である)」や「トラック is a 車(トラックは車の一種である)」といった関係性です。継承関係において、元となるクラスを「親クラス」「スーパークラス」「基底クラス」と呼び、それを引き継いで作られた新しいクラスを「子クラス」「サブクラス」「派生クラス」と呼びます。子クラスでは、親クラスから引き継いだメソッドの処理内容を、自分の都合に合わせて書き換えることができます。これを「オーバーライド」と呼び、ポリモーフィズム(多態性)を実現するための重要なテクニックとなります。なお、JavaやC#などの多くのモダンなプログラミング言語では、複数の親クラスから同時に機能を引き継ぐ「多重継承」は、プログラムの構造が複雑になりすぎて矛盾が生じやすくなるため禁止されており、代わりにインターフェースなどの別の仕組みを用いて柔軟性を確保しています。