抽象クラス「キャラ」から「自機」と「敵」を継承させて
HitTest()は「キャラ」に実装するのが普通でしょう。

そのレベルではデザパタは別に関係ないし、例として適切じゃない気がするが。