Super, rozumiesz już istotę interfejsów. Teraz, wykorzystując dziedziczenie oraz polimorfizm, masz kolekcję obiektów NapędzanyPojazd. Teraz w tej kolekcji możesz przechowywać rower, samochód, samolot, helikopter - bo przecież każdy z nich jest napędzany prawda? Na tym przykładzie powiedz mi, jak w kodzie, za pomocą jakiegoś guzika START, wywołasz, aby każdy z 4 w.w. obiektów zaczął się poruszać? (pseudokod wystarczy)
Więc tak:
Tworzę interfejs, np.:
Kopiuj
public interface Start {
void goFaster();
}
Potem tworzę każdą z klas (samlot, samochód itd....), w której jest prędkość. Czyli np:
Kopiuj
public class Car implements Start
{
int speed=0;
void goFaster()
{
speed+=10;
}
}
I tak każdą klasę, ale oczywiście w każdej z nich kod metody goFaster będzie inny.
Później tworzę ArrayList List<Start> napedzanyPojazd = new ArrayList<>(); i ją wypełniam tymi obiektami. I w tym momencię mogę po tej liście przejść wywołując na każdym elemencie metodę "goFaster". Czyli nie muszę się po kolei odwoływać do każdego obiektu.