Witam,
mam pytanie odnośnie interfejsu. Z tego co wiem to interfejs pozwala na manipulowaniem kolekcją różnych obiektów. Więc napisalem sobie krótki programik:
public interface Drivable {
public void accelerate();
public void stop();
}
class BMW implements Drivable {
public void accelerate() {
System.out.println("BMW acc");
}
public void stop() {
System.out.println("BMW stop");
}
}
class Honda implements Drivable{
public void accelerate() {
System.out.println("HONDA acc");
}
public void stop() {
System.out.println("HONDA stop");
}
}
public class InterfaceTest {
public static void main(String[] args) {
Drivable vehicle= new BMW();
vehicle.stop(); //Tutaj wywołuję metode stop() tylko z klasy BMW
}
}
Chciałbym za pomocą interfejsu wywołać metodę np. stop() we wszystkich klasach, które implementują interfejs Drivable.
Na pewnym forum znalazłem taką możliwość, aby w klasie InterfaceTest stwożyc taka pętle:
for (Drivable vehicle : vehicles) {
vehicle.accelerate();
}
Lecz wtedy kompiler mi zgłasza błąd.
Z góry dziękuję za pomoc i pozdrawiam.