Player から継承する 2 つのクラスがあります。SimplePlayer と InterleavedPlayer です。
クラス B には、setPlayer(SimplePlayer プレーヤー) と setPlayer(InterleavedPlayer プレーヤー) のメソッドがあります。
クラス A には、SimplePlayer または InterleavedPlayer のいずれかになるように設計された Player フィールドがあります。クラス A は、オブジェクトが Player のどのサブクラスであるかに関係なく、これらのプレーヤーで B.setPlayer() を呼び出したいと考えています。
一般化された B.setPlayer(Player player) メソッドで instanceof を使用しないようにするために、サブクラスの B.setPlayer() をオーバーロードしました。
しかし、A が B.setPlayer() を呼び出すと、B.setPlayer(Player) を参照するシンボルが見つからないというエラーが発生します。
問題を解決するには、ここでどの設計アプローチを使用する必要がありますか? (A は実際にプレーヤーを作成するため、理論的には B に渡すものを「知っています」 SimplePlayer と InterleavedPlayer を区別します)。