Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
c○ Prof. Dr. B. Bartning, HS <strong>Emden</strong>/<strong>Leer</strong> Rumpfskript ” Informatik I/II“ (WS/SS 2010/11) 108<br />
};<br />
int gibJahr() { return jahr; } // s. Punkt (11b Anm.1) in ds. Kap.<br />
// ...<br />
Eine Änderung der internen Repräsentation der Daten muss die Schnittstelle nicht ändern.<br />
Wenn oft die Anzahl Tage zwischen zwei Datumwerten desselben Jahres ausgerechnet werden<br />
muss (z. B. mit der Elementfunktion differenz(Datum &anderTag) im Beispiel unten oder<br />
als Differenz datum1-datum2, empfiehlt sich die Datumdarstellung in Form TagDesJahres<br />
statt Tag und Monat (dazu die Jahreszahl):<br />
class Datum {<br />
int tagJahr; // statt: int tag; int monat;<br />
int jahr;<br />
};<br />
public:<br />
Datum();<br />
Datum(int t,int m, int j);<br />
~Datum() {} // leerer Destruktor<br />
int gibTag(); // muss jetzt berechnet werden: Def. El.-Fkt. woanders<br />
int gibMonat(); // muss jetzt berechnet werden: Def. El.-Fkt. woanders<br />
int gibJahr() { return jahr; }<br />
// jetzt neue Funktion differenz (Anzahl Tage zu anderTag):<br />
int differenz(Datum &anderTag);<br />
// ...<br />
Wenn dagegen sehr häufig Datumdifferenzen als Anzahl Tage über noch größere Zeiträume<br />
berechnet werden sollen (Astronomie), empfiehlt sich die interne Repräsentation als ” Julianisches<br />
Datum“ (JD, nach Julius Caesar Scaliger, 16. Jh., it. Naturforscher und Humanist):<br />
gezählt werden die Tage seit dem 01.01.4713 v. Chr. (Nullpunkt um 12 Uhr Weltzeit) –<br />
oder das Modifizierte Julianische Datum (MJD) mit dem Nullwert am 17.11.1858 um 0 Uhr<br />
Weltzeit. Der 01.01.2000 0 Uhr UT entspricht 51 544 MJD bzw. 2 451 544,5 JD.<br />
(9.33) Weitere wichtige Möglichkeiten der Objektorientierung werden in (Kap. 11) besprochen.