継承にかかわる諸問題

「継承」はオブジェクト指向ではよく話題になり、また問題視されます。しかしそれは使い方が間違っているからです。

今回は少し専門的に、継承のお話です。「オブジェクト指向とは?」と問われ た時、多くの人は「クラス・継承・多態性だ」と言います(そしてそれは間違っ ています)が、そのくらい継承というのは世の中で重要視されています。

「継承」というのはオブジェクト指向言語の一番かっこいい部分であり、また 一番問題になる部分でもあります。ここで「オブジェクト指向言語の」と書い た事に着目して下さい。継承の問題のほとんどは、システム分析などの上流工 程を知らないプログラマが、下流工程であるプログラミング言語の知識をその まま持ってきてしまうことに起因します。つまり、「オブジェクト指向とは?」 という質問と「オブジェクト指向言語とは?」という質問の違いがわからない 人が問題だ、というわけです。

ここでは、継承が持つ様々な問題についてお話しします。

目次

  1. 継承の種類
  2. 継承の爆発
  3. 抽象クラス
  4. 多重継承
  5. 継承と機能
  6. まとめ