Нужно ли всегда писать implements?
Это просто не имеет смысла, ведь дочерний класс уже имеет все защищенные и публичные методы
Зачем? IDE сама будет знать, что вы заимплементировали интерфейс от абстракции.