Guten Tag,
ich möchte um hilfreiche Ratschläge suchen, da das allmächtige Google und 2 Tage Zeit nicht umbedingt weitergeholfen haben.
Die Lage ist im groben folgende: Es geht um klassenübergreifendes Nutzen von Attributen und Methoden. Hier am Beispiel einer Klasse "Haltestelle" und einer Klasse "Bus". Da unser Professor sich lediglich auf Beispiele beschränkt ist mein Wissen auf das beschränkt, was ich mir im Rahmen des Internets so anlese.
Dabei wird das Programm so lange geändert bis alles irgendwie "passt". Ich stehe allerdings vor dem Problem, dass ich jetzt zwar durch "extends in den "Bus" alles aus "Haltestelle" vererbt habe, anscheinend aber ein Konstruktor nicht definiert ist (sprich: wohl fehlt).
"Implicit super constructor Haltestelle() is undefined. Must explicitly invoke another constructor"
Dies ist auch im Rahmen des Programms verständlich, denn es geht einmal um einen Konstruktor der einen Namen vergiebt und ein zweites Mal um eine Liste an Arrays.
Die Frage: Wie muss ich die beiden kombinieren?
Hier die Klassen:
und entsprechend für den Bus:
Da es sich bei mir wirklich um einen Programmieranfänger handelt, seid bitte nicht zu grob :noe:
Mit freundlichen Grüßen,
/e Wie ich grade sehe wird der Fehler natürlich hier nicht angezeigt. Ausgebessert.
Loki
ich möchte um hilfreiche Ratschläge suchen, da das allmächtige Google und 2 Tage Zeit nicht umbedingt weitergeholfen haben.
Die Lage ist im groben folgende: Es geht um klassenübergreifendes Nutzen von Attributen und Methoden. Hier am Beispiel einer Klasse "Haltestelle" und einer Klasse "Bus". Da unser Professor sich lediglich auf Beispiele beschränkt ist mein Wissen auf das beschränkt, was ich mir im Rahmen des Internets so anlese.
Dabei wird das Programm so lange geändert bis alles irgendwie "passt". Ich stehe allerdings vor dem Problem, dass ich jetzt zwar durch "extends in den "Bus" alles aus "Haltestelle" vererbt habe, anscheinend aber ein Konstruktor nicht definiert ist (sprich: wohl fehlt).
"Implicit super constructor Haltestelle() is undefined. Must explicitly invoke another constructor"
Dies ist auch im Rahmen des Programms verständlich, denn es geht einmal um einen Konstruktor der einen Namen vergiebt und ein zweites Mal um eine Liste an Arrays.
Die Frage: Wie muss ich die beiden kombinieren?
Hier die Klassen:
Java:
package klassen.busse;
public class Haltestelle {
// Aufgabe 3
// Attribute
String name = "";
int warten = 0;
// Get und Set
public String getName(){
return this.name;
}
public void setName(String name){
name = this.name;
}
public int getPersonen(){
return this.warten;
}
public void setPersonen(int warten){
warten = this.warten;
}
// Zufaellig mehr Leute
public void neueAnkunft(){
int a = (int) Math.random()*5;
this.warten = warten + a;
}
public void abholen(int anzahl){
this.warten = warten - anzahl;
}
public Haltestelle(String name){
this.name = name;
}
}
und entsprechend für den Bus:
Java:
package klassen.busse;
public class Bus extends Haltestelle {
// Aufgabe 3
// Attribute
private int nummer;
private int anzahl;
private int kapazitaet;
private Haltestelle haltestellen[];
int i = haltestellen.length;
// Get
public int getNummer(){
return this.nummer;
}
public void setNummer(){
nummer = this.nummer;
}
public int getAnzahl(){
return this.anzahl;
}
// Aussteigen
public void aussteigen(){
if(anzahl != 0){
int a = (int) Math.random()*5;
if(a<=anzahl){
anzahl = anzahl - a;
} else {
anzahl = 0;
}
}
}
// Naechste Haltestelle
public Haltestelle getNachsteHaltestelle(){
if(i < haltestellen.length){
haltestellen[i] = haltestellen[i+1];
}
else {
haltestellen[i] = haltestellen[0];
}
return haltestellen[i];
}
public void fahreNaechsteHaltestelleAn(){
getNachsteHaltestelle(); // Die naechste Haltestelle wird angefahren.
aussteigen(); // Leute steigen aus
neueAnkunft(); // Die Zahl der Wartenden wird berechnet
if(kapazitaet > warten){ // Geeignet viele Personen steigen in den Bus
anzahl = kapazitaet - warten;
} else {
anzahl = kapazitaet;
}
abholen(anzahl); // Ebensoviele werden von den Wartenden abgezogen
}
// Konstruktor
public Bus(int nummer, int kapazitaet, Haltestelle[] haltestellen){
[COLOR="DarkOrange"]^ In dieser Zeile steht das rote Kreuz[/COLOR]
nummer = this.nummer;
kapazitaet = this.kapazitaet;
haltestellen = this.haltestellen;
}
}
Da es sich bei mir wirklich um einen Programmieranfänger handelt, seid bitte nicht zu grob :noe:
Mit freundlichen Grüßen,
/e Wie ich grade sehe wird der Fehler natürlich hier nicht angezeigt. Ausgebessert.
Loki