継承 は、あるクラスの機能を 引き継いで、新しい クラス を作る オブジェクト指向 の仕組みです。共通する部分を「親クラス(基底クラス)」にまとめ、それぞれ違う部分だけを「子クラス(派生クラス)」で足したり書き換えたりします。
flowchart TD A["動物:名前・鳴く()"] --> B["犬:しっぽを振る()"] A --> C["猫:爪をとぐ()"]
上の例では、「名前を持つ」「鳴く」という共通機能を親の「動物」に置き、「犬」「猫」はそれを受け継いだうえで、独自の機能を足しています。継承の利点は次のとおりです。
- 重複が減る … 共通処理を親に1回書けばよい。
- 変更が楽 … 共通部分の修正は親を直すだけで、子すべてに反映される。
ただし、継承を深く重ねすぎると関係が複雑になり、かえって分かりにくくなることがあります。近年は「継承より、部品を組み合わせる(コンポジション)ほうが柔軟」と考える場面も増えています。適材適所で使うのがコツです。