Hallo, brauche mal wieder Hilfe....
Folgende Klasse (ErweitertesAuto.java):
soll so gelöst werden, dass sie von der Klasse EinfachesAuto.java
abgeleitet wird. Also von dieser Klasse erbt.
Wie lös ich das ?
Aufgabe geht noch weiter... post ich dann bestimmt nochmal...[/code]
Folgende Klasse (ErweitertesAuto.java):
Code:
/** ErweitertesAuto.java
**/
public class ErweitertesAuto{
// Attribute
public String besitzer;
public String autotyp;
public String farbe;
public int erstzulassung; // Jahr
public int leistung; // in PS
public int kmStand;
// Attribute fuer ErweitertesAuto
public String standort;
public long fahrgestellnummer;
// Konstruktor
public ErweitertesAuto(String besitzer, String autotyp, String farbe,
int erstzulassung, int leistung, int kmStand){
this.besitzer = besitzer;
this.autotyp = autotyp;
this.farbe = farbe;
this.erstzulassung = erstzulassung;
this.leistung = leistung;
this.kmStand = kmStand;
}
// neuer Konstruktor, der die zusaetzlichen Attribute auch initialisiert
/** Hier wurde eine Verkettung von Konstruktoren verwendet. Das ist
* moeglich, wenn der neue Konstruktor derselben Klasse den alten
* komplett enthaelt, ihn also erweitert.
* Der zu erweiternde Konstruktor wird dabei als Methode angesehen, und
* mit dem Namen this() aufgerufen. Ein solcher Aufruf muss(!!) als erste
* Anweisung im neuen Konstruktor erfolgen.
* Vorteil: vorhandener Code wird wiederverwendet.
*/
public ErweitertesAuto(String besitzer, String autotyp, String farbe,
int erstzulassung, int leistung, int kmStand,
String standort, long fahrgestellnummer){
// Verkettung, Aufruf mit this()
this(besitzer, autotyp, farbe, erstzulassung, leistung, kmStand);
// Erweiterung des Konstruktors
this.standort = standort;
this.fahrgestellnummer = fahrgestellnummer;
}
// Methoden
/** Berechnung des Alters des Autos
* @param ohne
* @return int alter
*/
public int alter(){
return 2003 - erstzulassung;
}
/** Einfache Ausgabe auf den Bildschirm
* @param ohne
* @return void
*/
public void meldung(){
System.out.print ("Hier gruesst das "+ farbe );
System.out.print ("Auto von" + besitzer);
}
/** Formatierte Ausgabe auf den Bildschirm
* @param ohne
* @return void
*/
public void alleDatenAusgeben(){
System.out.println();
System.out.println("Besitzer ist: " + besitzer );
System.out.println("Autotyp: " + autotyp );
System.out.println("Farbe: " + farbe);
System.out.println("Erstzulassung: " + erstzulassung);
System.out.println("Leistung: " + leistung + " PS" );
System.out.println("Kilometerstand: " + kmStand + " km" );
System.out.println("Fahrgestellnr: " + fahrgestellnummer );
System.out.println("Standort: " + standort );
}
/** Fahrt eines Autos
* gibt Start- und Zielort sowie km der Fahrt auf dem Bildschirm aus,
* speichert den neuen Standort und Kilometerstand
* @param String Ziel: Zielort der Fahrt
* @param int Entfernung: km der Fahrt
* @return int kmStand
*/
public int faehrtNach(String Ziel, int Entfernung){
System.out.println();
System.out.println("Auto faehrt von " + standort
+ " nach " + Ziel + Entfernung + " km." );
standort = Ziel;
return kmStand += Entfernung;
}
}
soll so gelöst werden, dass sie von der Klasse EinfachesAuto.java
abgeleitet wird. Also von dieser Klasse erbt.
Code:
/** EinfachesAuto.java
**/
public class EinfachesAuto{
// Attribute
public String besitzer, autotyp;
public String farbe;
public int erstzulassung;
public int leistung;
public int kmStand;
// Konstruktor
public EinfachesAuto(String besitzer, String autotyp, String farbe,
int erstzulassung, int leistung, int kmStand){
this.besitzer = besitzer;
this.autotyp = autotyp;
this.farbe = farbe;
this.erstzulassung = erstzulassung;
this.leistung = leistung;
this.kmStand = kmStand;
}
// Methoden
/** Berechnung des Alters des Autos
* @param ohne
* @return int alter
*/
public int alter(){
return 2003 - erstzulassung;
}
/** Einfache Ausgabe auf den Bildschirm
* @param ohne
* @return void
*/
public void meldung(){
System.out.print ("Hier gruesst das "+ farbe );
System.out.print ("e Auto von " + besitzer);
}
}
Wie lös ich das ?
Aufgabe geht noch weiter... post ich dann bestimmt nochmal...[/code]