всегда есть варианты:
1) общий абстрактный предок с реализацией интферфейса и полями
2) директива implements
наследник - хорошо. однако в самом интерфейсе кода не получится запилить, потому как полей нет и обратится к ним кроме как через сеттеры/геттеры нельзя никак
ну а сеттеры и геттеры мало того что раздувают сильно код, так еще и заметно тормозят его (проперти же без них никак не сказываются на скорости, как я думаю, все знают)