java aufgabe zum download

vsitor

Erfahrenes Mitglied
ok, ich muss für die uni was fertig machen :-(
ist voll schwer, wer kann helfen ?

Aufgabe p22 (!!! P bis zum 27.1.2003 !!!)
(a) Laden Sie sich aus dem Web-Verzeichnis
http://www.aifb.uni-karlsruhe.de/Lehre/Winter2002-03/prog1/Programme/
die Quellcode-Dateien der zwei Klassen Dusche und TestDusche herunter und vollziehen Sie nach,
wie die beiden Klassen aufgebaut sind und wie sie arbeiten.

Die Klasse Dusche modelliert eine einfach gestaltete Dusche, indem die Bezeichnung des Rau-
mes, in dem die Dusche steht, die eingestellte Höhe des Brausekopfs und der eingestellte Wasser-
druck in privaten Instanzvariablen gespeichert werden. Mit Hilfe der öffentlichen Instanzmethode
getDruck kann der eingestellte Wasserdruck eines Dusche-Objekts abgegriffen werden. Mit Hilfe
der öffentlichen Instanzmethode change können die Einstellungen der Dusche (des Dusche-Objekts)
verändert werden. Die Methode toString liefert (wie üblich) eine String-Darstellung für das aufru-
fende Dusche-Objekt.

Die Klasse TestDusche verwendet ein Objekt der Klasse Dusche und dessen Instanzmethoden um
Daten einer Dusche einzulesen bzw. auszugeben und deren Einstellungen zu verändern.
Compilieren Sie beide Klassen und starten Sie die Klasse TestDusche. Ein Ablauf dieser Klasse
könnte dann etwa wie folgt aussehen:

Daten fuer eine Dusche einlesen
Raum-Bezeichnung: 007
Einstellung fuer die Hoehe: 155
Einstellung fuer den Wasserdruck: 145
Daten der Dusche ausgeben
Dusche im Raum 007: h=155, d=145
Die Dusche wird nun anders eingestellt
(Hoehe um 9 erhoeht, Druck um 6 erniedrigt)
Daten der neu eingestellten Dusche ausgeben
Dusche im Raum 007: h=164, d=139

(b) Sie sollen nun eine spezialisierte Dusche-Klasse implementieren, deren Objekte uns den Luxus
zur Verfügung stellen, dass man auch noch die Wassertemperatur einstellen kann.
Gehen Sie dabei wie folgt vor:
- Schreiben Sie eine Klasse LuxusDusche, die von der Klasse Dusche erbt.
- Statten Sie die Klasse LuxusDusche mit einer privaten Instanzvariable aus, die f ur jedes Objekt
die eingestellte Wassertemperatur beinhaltet.

 Implementieren Sie einen Konstruktor, der die zusätzliche Variable und die geerbten Variablen
berücksichtigt.

 Ergänzen Sie in der Klasse LuxusDusche eine  o entliche Instanzmethode change durch Über-
schreiben der von Dusche geerbten Methode gleichen Namens und gleicher Signatur. Die Me-
thode soll prinzipiell die gleiche Funktionalität wie die Methode der Superklasse aufweisen.
Dazu muss sie abhängig vom Wert des ersten Parameters entweder die Temperatur um den
angegeben Wert erhöhen oder die Methode change der Superklasse aufrufen.

 Implementieren Sie außerdem (als öffentliche Instanzmethode) eine boolean-Methode
istAngenehmerAls mit einem Parameter vom Typ LuxusDusche, die genau dann den Wert
true zurück liefert, wenn der Wasserdruck des aufrufenden Objekts kleiner eingestellt ist als der
Wasserdruck des Parameter-Objekts und wenn gleichzeitig für die Temperatur des aufrufenden
Objekts gilt, dass sie kleiner als 40 und größer als die Temperatur des Parameter-Objekts ist.

Überschreiben Sie schließlich die Methode toString zur Erzeugung einer String-Darstellung
des aufrufenden Objekts, das sich aus dem String, wie er von der toString-Methode der Klas-
se Dusche erzeugt wird, und aus der entsprechenden Angabe zur Temperatur zusammensetzt.
Auch hierbei müssen Sie auf die entsprechende Methode der Superklasse zurückgreifen.

(c) Bei der Entwicklung und beim Test Ihrer Klasse LuxusDusche können Sie auf die Klasse
TestLuxusDusche zurückgreifen, die Sie ebenfalls vom oben angegebenen Web-Verzeichnis herun-
terladen können. Nach dem Compilieren sollte ein Ablauf wie folgt aussehen:

Daten der Luxus-Dusche 1 ausgeben:
Dusche im Raum 111: h=120, d=100, t: 10.0
Daten der Luxus-Dusche 2 ausgeben:
Dusche im Raum 222: h=180, d=150, t: 20.0
Die beiden Luxus-Duschen vergleichen:
Beide Luxus-Duschen koennten besser eingestellt sein
Die Luxus-Dusche 1 wird nun anders eingestellt:
Wasserdruck um 20 erniedrigt, Temaratur um 15 erhoeht
Daten der neu eingestellten Luxus-Dusche 1 ausgeben:
Dusche im Raum 111: h=120, d=80, t: 25.0
Die beiden Luxus-Duschen nochmals vergleichen:
Luxus-Dusche 1 ist angenehmer als Luxus-Dusche 2

Hinweis:
An den Klassen Dusche, TestDusche und TestLuxusDusche darf nichts verändert werden!
 
Zurück