public class InterfaceBsp { public static void main(String[] args) { Fahrrad f = new Fahrrad(); System.out.println("Tempo des Fahrrads: " + f.tempo); f.beschleunigen(10); System.out.println("Tempo des Fahrrads: " + f.tempo); f.verzoegern(8); System.out.println("Tempo des Fahrrads: " + f.tempo); MotoGuzzi m = new MotoGuzzi(); System.out.println("Tempo des Motorrads: " + m.tempo); m.beschleunigen(50); System.out.println("Tempo des Motorrads: " + m.tempo); m.verzoegern(36); System.out.println("Tempo des Motorrads: " + m.tempo); } } interface Drivable { int RAEDER = 2; // implizit public static final void beschleunigen(double d); void verzoegern(double d); } class Fahrrad implements Drivable { double tempo=0; @Override public void beschleunigen(double faktor) { if(faktor < 0) return; tempo += faktor * 1.5; tempo = tempo > 50 ? 50 : tempo; } @Override public void verzoegern(double faktor) { if(faktor < 0) return; tempo -= faktor * 1.2; tempo = tempo < 0 ? 0 : tempo; } } class MotoGuzzi implements Drivable { double tempo=0; @Override public void beschleunigen(double faktor) { if(faktor < 0) return; tempo += faktor * 6.3; tempo = tempo > 200 ? 200 : tempo; } @Override public void verzoegern(double faktor) { if(faktor < 0) return; tempo -= faktor * 4.6; tempo = tempo < 0 ? 0 : tempo; } }