Мне было интересно, когда я должен использовать интерфейсы.
Давайте рассмотрим следующее:
public abstract class Vehicle {
abstract float getSpeed();
}
и:
public interface IVehicle {
float getSpeed();
}
Я могу легко реализовать оба из них, они имеют одинаковую функциональность... НО я также могу добавить некоторые переменные в класс моего автомобиля, который, вероятно, должен использоваться в автомобиле (maxSpeed, carType...)
В чем причина использования интерфейсов?
Спасибо!
EDIT: Я нашел приятную ссылку об этом в другом потоке: http://www.thecoldsun.com/en/content/01-2009/abstract-classes-and-interfaces