К чему применять интерфейс?
Интерфейс описывает контракт.
Абстрактный класс описывает базовое поведение, общее для нескольких потомков.
В чем проблема?
первый вариант правильный. я не пойму в чем проблема