OOPとしての話なら
同じ基本クラスAを継承したクラスBとクラスCがあったとして
クラスAが使われている部分を全部クラスBやクラスCに置き換えても正常に動作しなければならない

つまり多態を必要としていなければ継承は使うべきでない