erstellt 01.03.04; überarbeitet 15.03.04, 25.03.04, 17.06.04, 07.03.05, 07.07.06, 25.01.11;
Das Grusskarten-Beispiel hat in der deutschen Übersetzung einen kleinen Schönheitsfehler. Erweitern Sie die abstrakte Klasse Karte um die Instanzvariable String anrede und um einen Konstruktor, der die Variablen empfaenger und anrede initialisiert.
Karte( String empfaenger, String sex)
Der Variablen anrede wird dann entweder der String "Liebe" oder "Lieber" zugewiesen. Passen Sie die Subklassen und das Testprogramm entsprechend an.
Liebe Ann, frohe Feiertage! Lieber Bob, Alles Gute zum 55. Geburtstag. Liebe Joan, Herzliche Gruesse und Kuesse. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Zurück zum Inhaltsverzeichnis.
Erstellen Sie eine abstrakte Klasse Haustiere. Die Klasse besteht aus
String name; double futtervorrat; int anzahlTage; // gibt die Anzahl Tage aus, die der Futtervorat reicht
name und futtervorrat initialisiert ( Dieser Kontruktor kann zwar nicht direkt genutzt werden, da die abstrakte Klasse Haustiere nicht instanziiert werden kann, aber er kann von den Subklassen Katze und Hund verwendet werden.)
public void fuettern()
{
// Hier erfolgt zuerst der Aufruf der Methode sprich().
// Solange der Futtervorat reicht, wird dann die Methode friss() aufgerufen
// und die Anzahl der Tage hochgez�hlt, die der Vorrat reicht.
// Implementiert werden die abstrakten Methoden sprich() und friss() erst in den Subklassen.
}
public void anzeigen()
{
// zeigt den Namen des Haustiers an und wie viele Tage der Futtervorrat reicht
}
public abstract void friss(); public abstract void sprich();
Leiten Sie von der abstrakten Klasse Haustiere die Klassen Hund und Katze ab. Schreiben Sie für beide Subklassen einen Konstruktor, der den Konstruktor der Superklasse aufruft. Implementieren Sie anschließend in den Subklassen die abstrakten Methoden:
sprich() gibt "Wuff!" bzw "Miau!" aus.friss() verringert den Wert der Instanzvariablen futtervorrat um 1.0 (Hund) bzw. um 0.5 (Katze) und gibt den Namen des Haustiers mit dem jeweiligen Stand des Futtervorrats aus.Testen Sie das Programm in einer Klasse HaustierFuettern. Die Ausgabe sieht dann ungefähr wie folgt aus:
C:\data\java\bsp>java HaustierFuettern Miau! Minka: 5.0 Minka: 4.5 Minka: 4.0 Minka: 3.5 Minka: 3.0 Minka: 2.5 Minka: 2.0 Minka: 1.5 Minka: 1.0 Minka: 0.5 Der Vorrat fuer Minka reicht 10 Tage. Wuff! Strolchie: 5.0 Strolchie: 4.0 Strolchie: 3.0 Strolchie: 2.0 Strolchie: 1.0 Der Vorrat fuer Strolchie reicht 5 Tage.
Zurück zum Inhaltsverzeichnis.
Ende der Aufgaben