今日、私は Java ポリモーフィズムに夢中になりました。ありえないと思っていたことをやってしまった。つまり、拡張インターフェースがあります。
空のインターフェースを作成しました:
public interface Figure {}
今のところ新しいものはありません。次に、インターフェイスを拡張するパラメーターを使用して、パラメーター化されたクラス Board を作成しました。
public class Board< T extends Figure > {
T[][] board;
}
ありえないと思いました!それにもかかわらず、私は理解できないままさらに進んでいました。
Figure インターフェイスを実装するクラスを作成しました。
public class Cross implements Figure{}
そして驚いたことに、私はそれを行うことができました:
Board b = new Board<Cross>();
私を助けて、この奇妙な状況を説明してください。
私はポリモーフィズムについて少し知っており、Cross が Figure であることを理解しています。どのようなタイプでもインターフェースを拡張できるのか、インターフェースを拡張しない (インターフェースを拡張しない) インターフェースを実装するクラスは、インターフェースを拡張するパラメーターとしてどのように正しいのか、私は混乱しています。
このポリモーフィックな混乱を説明してください。ありがとう。