# java aufgabe zum download



## vsitor (26. Januar 2003)

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!


----------

