GUIを表現するクラスに機能を追加するときによく継承を使うようになってる作りのライブラリは結構みかけるんですが
機能の拡張に継承は駄目でなるべくコンポジションを使うべきとか聞いた記憶があります
何故駄目なんでしょうか?

例:
標準のイベントハンドラを拡張したハンドラ、それ用の補助メソッドや振舞設定用インタフェースを実装するダイアログボックスExtendedDialogを作るときに
標準のダイアログボックスクラスDialogを継承することで、標準の実装を利用し実装した
尚Dialogは継承されることを前提とした作りにはなっているとする

それとも「なるべく」なだけで、こういう場合なら大きな問題はないのでしょうか?