コンテンツへスキップ
uencoder

Inheritance

継承(Inheritance)は、サブクラスが親クラスのフィールドとメソッドを再利用・拡張できるようにする仕組みである。is-a 関係を確立し、オブジェクト指向の中核機構である。

目的

コードの再利用と階層モデリング。ただし乱用は脆弱な基底クラス問題を招く。

メカニズム

サブクラスは親のメンバーを継承し、追加やオーバーライドができる。単一継承(Java のクラス)対多重継承(C++/Python)。菱形継承問題には仮想継承(C++)や線形化(Python MRO)が必要である。「継承より合成」が指導原則である。

ユースケース

  • オブジェクト指向設計
  • 階層モデリング
  • コード再利用

関連用語

References