В Java вы можете сделать следующее:
public interface IEngine{}
public interface ICoolEngine extends IEngine{}
public interface Car
{
IEngine getEngine();
}
public interface ICoolCar extends ICar
{
@Override
ICoolEngine getEngine();
}
Хотя это прекрасно решает проблему, с которой я боролся, что-то об этом "чувствует" неправильно.
Предлагаю ли я некоторые неприятные фальшивые проекты здесь?