У меня есть интерфейс с именем Dictionary, у которого есть метод insert()
. Этот интерфейс реализован классом BSTree
, но у меня также есть класс AVLTree
, который является дочерним классом BSTree
. AVLTree
переопределяет insert()
так, чтобы он соответствовал его потребностям. Теперь, если я наберу следующий код:
Dictionary data=new AVLTree();
data.insert();
Проблема в том, что вызываемый метод insert()
имеет значение BSTree
вместо AVLTree
. Почему полиморфизм здесь не срабатывает? Какое решение, которое сохраняет принцип полиморфизма?