Hallo zusammen,
ich versuche mich gerade an einer alten Klausur Aufgabe. Die finde ich besonders schwierig, weil ich überhaupt nicht mehr weiter weiß. Die Aufgabe sieht so aus:
Mein Problem besteht darin, die Konstruktoren richtig zu nutzen. Außerdem weiß ich nicht, ob ich noch Methoden erstellen darf, die die privaten Variablen beschreiben dürfen, weil sie aus den Klassen Bus und Bahn ja nicht sichtbar sind. Die _____ Lücken müssen wir ergänzen. Mein Code sieht wie folgt aus:
Wenn man das Programm ausführt, sieht man schonmal die Speicheradresse der Instanzen. Wie mache ich jetzt weiter?
Danke im Voraus
ich versuche mich gerade an einer alten Klausur Aufgabe. Die finde ich besonders schwierig, weil ich überhaupt nicht mehr weiter weiß. Die Aufgabe sieht so aus:
Java:
/*
Ergänzen Sie in den folgenden Klassen die notwendigen Schlüsselworte und notwendigen Methoden,
so dass die Ausgabe des Programms wie folgt aussieht:
Bahn S1 (id 1) kostet auf 100km 10 Euro
Bus A21 (id 2) kostet auf 1000km 50 Euro
Bahn R3 (id 3) kostet auf 11km 1,1 Euro
Bus B11 (id 4) kostet auf 12km 0,6 Euro
Hinweis: Sie dürfen keineweiteren Objekt-oder Klassenattribute hinzufügen.*/
public classTest {
public static void main (String[] args) {
ÖpnvI[] feld = { new Bahn("S1", 100), new Bus("A21", 1000), new Bahn("R3", 11),new Bus("B11", 12) };
for(int i = 0; i < feld.length; i++) {
System.out.println(feld[i]);
}
}
public ______ ÖpnvI {
double getPreisProKm();
}
public ______ class Öpnv ______ ÖpnvI {
private static int n = 0;
private int id;
private String name;
private int km;
private double berechnePreis() {
returnkm * getPreisProKm();
}
public class Bus extends Öpnv {
}
public class Bahn extends Öpnv {
}
Mein Problem besteht darin, die Konstruktoren richtig zu nutzen. Außerdem weiß ich nicht, ob ich noch Methoden erstellen darf, die die privaten Variablen beschreiben dürfen, weil sie aus den Klassen Bus und Bahn ja nicht sichtbar sind. Die _____ Lücken müssen wir ergänzen. Mein Code sieht wie folgt aus:
Java:
public interface ÖpnvI {
double getPreisProKm();
}
public abstract class Öpnv implements ÖpnvI {
private static int n = 0;
private int id;
private String name;
private int km;
private double berechnePreis() {
return km * getPreisProKm();
}
@Override
public double getPreisProKm() {
return 0;
}
}
public class Bus extends Öpnv {
public Bus() {
}
public Bus(String name, int km) {
}
}
public class Bahn extends Öpnv {
public Bahn() {
}
public Bahn(String name, int km) {
}
}
Wenn man das Programm ausführt, sieht man schonmal die Speicheradresse der Instanzen. Wie mache ich jetzt weiter?
Danke im Voraus