12.01.2014 Aufrufe

2-up - ETH Zürich

2-up - ETH Zürich

2-up - ETH Zürich

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.

Verwendung des Datum-Typs (2)<br />

• Eigentlich sollte „Setzen“ zumindest einen Plausibilitätstest<br />

machen (Monat ≤ 12, Tag ≤ 31 etc.)<br />

• Gleiches gilt für den zweiten Konstruktor<br />

• Auf diese Weise könnte garantiert werden, dass<br />

illegale Datumsangaben weitgehend vermieden werden<br />

• Der Zugriff auf private Attribute von ausserhalb der<br />

Klasse „Datum“ wird vom Compiler nicht zugelassen:<br />

Ostermontag.Jahr = 1789;<br />

liefert die Fehlermeldung:<br />

Variable Jahr in class Datum not<br />

accessible from class Beispiel.<br />

122<br />

Datumsvergleich<br />

• Wir fügen zu „Datum“ eine neue Methode hinzu, mit der ein<br />

Datum-Objekt entscheiden kann, ob es selbst früher als ein<br />

anderes (als Parameter übergebenes) Datum-Objekt ist:<br />

class Datum {<br />

...<br />

public boolean frueher_als(Datum d) {<br />

return Jahr < d.Jahr ||<br />

Jahr == d.Jahr && Monat < d.Monat ||<br />

Jahr == d.Jahr && Monat == d.Monat<br />

&& Tag < d.Tag;<br />

}<br />

true oder false<br />

d ist ein formaler Parameter<br />

vom Typ „Datum“<br />

Man kann auf d.Jahr, d.Monat, d.Tag zugreifen, obwohl<br />

diese Attribute als „private“ deklariert sind, da es sich<br />

um die gleiche Klasse (aber eine andere Instanz) handelt<br />

123<br />

52

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!