Aufgabe 1: Einführung in Klassen
-
Implementieren Sie das Programm mit dem LightBulb-Objekt aus der Vorlesung. Legen Sie unter Processing zuerst eine neue Sketch an (Uebungsblatt11).
Füllen Sie die neu angelegte Klassendatei (LightBulb.java) mit dem Code der Vorlesungsfolie, die die Überschrift "Vollständige LightBulb-Klasse" trägt und speichern Sie danach die Datei.
Öffnen Sie jetzt einen neuen Tab, indem Sie auf den kleinen Pfeil klicken und dort "Neuer Tab" anklicken ..
.. und die Datei LightBulb.java erstellen.
Die öffentlichen Eigenschaften bzw. Funktionalitäten dieser Klasse können im Hauptprogramm durch Deklaration von Variablen, die diese Klasse als Datentyp besitzen, benutzt werden. Wir können Variablen des Typs
LightBulbdeklarieren, weil die neu erstellte Klasse Teil des aktiven Projekts und damit der Entwicklungsumgebung bekannt ist. -
Ergänzen Sie Ihr Hauptprogramm (Uebungsblatt11.pde) um den Programmcode der Folie "Beispiel: Programm mit LightBulb-Objekt", um die neue Klasse auszuprobieren. Im Code wird ein neues Objekt vom Typ
LightBulberzeugt und dieses durch Aufruf der entsprechenden Methoden des Objekts "ein"- und "ausgeschaltet". Führen Sie den Code mit aktiviertemlb.switchOff();aus. Speichern Sie danach den Code mit aktiviertemlb.switchOn();und führen Sie ihn erneut aus. Was stellen Sie jeweils fest? -
Kommentieren Sie
lb.switchOff();undlb.switchOn();in Ihrem Hauptprogramm aus. Speichern Sie den Code und rufen Sie das Programm auf. Angezeigt wird jetzt der Initialisierungswert der Variablenlight. Setzen Sie die Variable auf die beiden möglichen Anfangswerte (welche sind dies?), kompilieren Sie jeweils die Datei und führen Sie das Programm danach aus. (Es ist guter Stil Variablen nur initialisiert zu benutzen.) - Versuchen Sie nun den Wert der Variablen
lightdurch eine Zuweisunglb.light = true;im Hauptprogramm zu ändern. Gibt es dabei ein Problem? Falls ja: Wie ließe sich dieses lösen?
-
Ändern Sie Ihr Hauptprogramm so ab, dass für die Überprüfung des logischen Zustandes der Variable
lightkeine HilfsvariablelightStatemehr benötigt wird. -
Ändern Sie das Attribut der Methode
isOn()zuprivateund speichern Sie die Datei. Was passiert jetzt? -
Nehmen Sie die Änderung der letzten Übung wieder zurück. Übernehmen Sie jetzt den Code des Hauptprogramms von der Folie "Mehr als ein Objekt erzeugen" in Ihr eigenes Hauptprogramm. Speichern Sie es und führen Sie es aus. Probieren Sie unterschiedliche Kombinationen der
switchOn()-switchOff()-Methoden-Aufrufe und ihre Auswirkung auf die Ausgaben des Programms.