29.01.2014 Aufrufe

Script Java

Script Java

Script Java

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

7.1 Calendar<br />

In den restlichen Zeilen der Methode ist definiert, wie mit negativen Parameterwerten zu<br />

verfahren ist: es wird das Komplement zu 60 bzw. 24 berechnet. Hierbei bezeichnet der<br />

‘+=‘-Operator (compound assignment operator)eine Zuweisung, welche zugleich mit<br />

einer arithmetischen Operation verknüpft ist. Der Ausdruck minutes += 60 ist die<br />

verkürzte Schreibweise für:<br />

minutes = minutes + 60;<br />

Siehe auch: 7.1.2.1<br />

7.1.1.2 Information Hiding<br />

Da die Klasse Time die Instanzvariablen hours und minutes als private deklariert,<br />

kann auf diese ausserhalb der Klasse Time nicht zugegriffen werden (siehe<br />

Abschnitt 6.2.1.3 und 6.2.2.1). Im Gegenzug bietet sie aber Methoden, welche auf den<br />

Werten dieser Instanzvariablen operieren.<br />

So deklariert die Klasse UserFrame die Methoden getHours() und<br />

getMinutes(), welche die Stunden und Minuten der aktuellen Uhrzeit zurückliefern,<br />

sowie die Methode getMinutesAfterMidnight(), welche berechnet, wieviele<br />

Minuten seit Mitternacht vergangen sind.<br />

Die Methode increment() erlaubt die minutenweise Addition bzw. Subtraktion bei<br />

negativem Parameter. Beachtenswert hierbei ist, dass die momentane Zeit zuerst in<br />

Minuten umgerechnet werden muss, bevor die Addition bzw. Subtraktion erfolgt. Das<br />

erhaltene Resultat wird dann der Methode setTime() übergeben, welche den Ausdruck<br />

wieder zu Stunden und Minuten konvertiert.<br />

Die Methoden equals() und before() ermöglichen ein als Parameter übergebenes<br />

Zeitobjekt mit der momentanen Zeit zu vergleichen. Diese Methoden werden aber<br />

zusammen mit getHours() und getMinutes() nie im Programm aufgerufen. Da sie<br />

jedoch eine weitere Zeitmanipulation realisieren, sind sie ebenfalls in der Klasse Time<br />

deklariert. Hierdurch wird Time zu einer universellen Klasse, welche Methoden zur<br />

Generierung und Manipulation von Zeitobjekten anbietet, und kann in einem anderen<br />

Zusammenhang wiederverwendet werden.<br />

Dadurch, dass die Klasse Time den Zugriff auf ihre Instanzvariablen von ausserhalb der<br />

Klasse unmöglich macht, dafür aber Methoden anbietet, welche eine genau definierte<br />

Manipulation erlauben, wird ein kontrollierter, externer Zugriff realisiert.<br />

7.1.1.3 Conditional Operator<br />

Die Methode<br />

167

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!