Im folgenden Programm definieren Sie eine Enumeration Zeiteinheit und eine Klasse Zeit. Die Klasse Zeit kann:
• bei Erstellung eines Objekts eine Zeitangabe als Argument übernehmen,
• Zeitangaben anzeigen,
• einen Wert in einer gewählten Zeiteinheit zur Zeit addieren.
Die Enumeration Zeiteinheit und die Definition der Klasse Zeit wurden reduziert. Sie bekommen in den anschließenden Aufgaben die Hinweise zur Erstellung dieser Typen.
a) Erstellen Sie eine Enumeration Zeiteinheit mit den Membern Stunde, Minute, Sekunde. Deklarieren Sie mit einem passenden Datentyp. Geben Sie den Membern in passender Reihenfolge die Werte 1, 60, 3600 so, dass Sie die hinterlegten Zahlenwerte später zum Rechnen verwenden können.
b) Definieren Sie eine Klasse Zeit. Sie enthält die privaten Member m_std, m_min, m_sek, die Sie mit einem passenden Datentyp deklarieren.
c) Schreiben Sie einen Konstruktor, mit dem Sie Objekte der Klasse Zeit mitsamt Zeitangabe erstellen können. Sie übergeben die Werte für Stunde, Minute und S-ekunden. Der Aufruf ist in der oben abgedruckten Main()-Prozedur enthalten.
d) Definieren Sie eine Methode Anzeigen(). Beim Aufruf wird die Zeit angezeigt, wie oben abgebildet.
e) Die Klasse enthält die Methode Addieren():
Sub Addieren(Anzahl As Short,
Einheit As Zeiteinheit)
End Sub
Sie geben einen beliebigen Wert als Anzahl ein und als zweites Argument, ob es sich um Stunden, Minuten oder Sekunden handelt.
Zur Verwendung der Prozedur finden Sie im abgedruckten Programm zwei Aufruf-beispiele. Im ersten Beispiel werden 50 Minuten addiert, im zweiten 155 Sekunden.
Zu Ihrer Unterstützung noch einige Hinweise:
Die Methode Addieren() wandelt für interne Berechnung die in den Feldern m_std, m_min, m_sec gespeicherte Zeit in Sekunden um.
Definieren Sie zu diesem Zweck eine Methode zuSekunden(), die als Rückgabewert vom Typ Integer die Anzahl der Sekunden zurückliefert, die der derzeit im Objekt gespeicherten Zeit entspricht.
Nun werden die übergebenen Argumente Anzahl und Einheit verwendet und hinzu-addiert.
Mittels der Methode zuZeit(Sekunden as Integer) wird das Ergebnis wieder in den Datenmembern gespeichert.
Die Methode zuZeit() ist für Sie unten abgebildet:
Sub zuZeit(Sekunden As Integer)
m_Sek = Sekunden Mod 60
m_Min = (Sekunden 60) Mod 60
m_Std = Sekunden 60 * 60
End Sub
Definieren Sie nun die Methode Addieren().