原則として継承は禁止する。
明らかに直接の IS-A 関係にある派生クラスが複数存在するという場合にのみ 継承によるクラス設計を認める。
継承の深さは1ないし2レベルまでとする。
オブジェクトの理論や宗教はおいといて、我々の目的は 理解しやすいことです。 つまり理解しやすければ保守しやすいということですね。
階層は、あまり深くないほうがよいです。 理解しやすいといえるのはせいぜい 2 階層程度でしょうか?
そして、継承よりは object composition を多用するべきです。 が、継承を使ってはいけないということではありません。 これらは、 微妙なバランスの上に成り立っているわけですが、 理論的に説明することができません。
なんか禅問答みたいですが… ;)
Copyright (C) 1993-2025 Ken'ichi Fukamachi mail:< fukachan at fml.org >