// Menü bauen CREATEBUTTON aktion1 = "Erster Button"; CREATEBUTTON aktion2 = "zweiter Button"; CREATEBUTTON abbruch = "Abbruch; // Teil des Programms der in einer Schleife ständig wiederholt wird REPEAT IF aktion1 = TRUE THEN PRINT "Button 1 gedrückt"; ENDIF IF aktion2 = TRUE THEN PRINT "Button 2 gedrückt"; ENDIF UNTIL abbruch = trueDas Programm würde drei nebeneinanderliegende Buttons erstellen. Nach dem Befehl oder besser Schlüsselwort CREATEBUTTON steht die Variable unter welcher der Button im Computerspeicher zur Verfügung steht. Die Zeichenkette nach dem ‚=‘ gibt die Beschriftung vor. REPEAT bezeichnet den Schleifenanfang. Das Schlüsselwort IF leitet eine Bedingung ein, ENDIF beendet sie. TRUE kennen wir bereits, ein sogenannter Boolean. Bei dem Prinzip das Java verfolgt würde das ganze etwas anders aussehen. Auch hier verwenden wir zum besserem Verständnis erstmal Pseudocode: (Kommentare über mehrere Zeilen wie in diesem Beispiel werden mit /* */ gebildet und werden ebenfalls nicht vom Compiler ausgeführt).
PROGRAMMANFANG: /* Der Compiler erstellt nacheinander drei Objekte. Wobei er jedesmal die Beschreibung kopiert und und mit den Daten befüllt die in der KONSTRUIERE-Anweisung zu finden ist. */ button1 = OBJECT BUTTON, KONSTRUIERE("Button eins"); button2 = OBJECT BUTTON, KONSTRUIERE("Button zwei"); button3 = OBJECT BUTTON, KONSTRUIERE("Abbruch"); BESCHREIBUNG eines Objekts vom Datentyp BUTTON: DATENBLOCK: TYP TEXT MeineBeschriftung DATENBLOCK ENDE KONSTRUKTIONSBLOCK: erwartet: TYP TEXT übergabe an Variable: MeineBeschriftung KONSTRUKTIONSBLOCK ENDE MINIPROGRAMM: IF I TRUE: IF MeineBeschriftung = Abbruch THEN EXIT; ELSE PRINT "Dies ist " + MeineBeschriftung; ENDIF ENDIF MINIPROGRAMM ENDE BESCHREIBUNGSENDESchon ganz anders oder? Beim Klick auf den Button1 würde „Dies ist Button eins“ ausgegeben werden. Die Buttons enthalten alle in sich selbst eine eigenes kleines Mini-Programm in Form einer If-Schleife. Diese Mini-Programme werden in Java Methoden genannt, da es sich jeweils um eine bestimmte Methode handelt um mit den im Datentyp vorhandenen Daten umzugehen bzw. diese zu manipulieren. Es entstehen drei Objekte mit jeweils anderen Eigenschaften, in diesem Fall, andere Beschriftungen. Die Beschreibung des Objekts nennt man normalerweise KLASSE. Zum besseren Verständnis hab ich es in dem Beispiel BESCHREIBUNG genannt da hier beschrieben wird was ein Objekt vom Typ Button enthalten muss. Im richtigen Quellcode wird dann später das Wort class benutzt. Praktischerweise müssen die einzelnen Buttons nicht mehr nacheinander wie in Basic abgefragt werden. Die Buttons überprüfen sich durch die integrierte IF-Abfrage praktisch ständig ob sie gerade angeklickt werden. Dies geschieht mit IF I TRUE. Das Objekt frägt sich sozusagen selbst. In JAVA wird das dann später alles etwas anders formuliert. Z.B. wird das eigene Objekt nicht mit I sondern mit THIS angesprochen. THIS oder deutsch DIES bezieht sich immer auf das direkt umgebende Objekt. Ich habe in dem Beispiel deswegen I geschrieben, damit deutlich wird das man in JAVA Objekte möglichst eigenständig „denkend“ und handelnd ansehen sollte. Letztlich ist es das Ziel diese Objekte so zu programmieren. Damit kann man sie später auch in anderen Programmen problemlos wiederverwenden. Bei dieser Art zu programmieren wird das Paradigma der Objektorientierung angewandt. Ein Paradigma in der Informatik bezeichnet den Programmierstil, also die Art und Weise wie man programmiert. BASIC ist wie Assembler eine rein imperative Programmiersprache, d.h. es wird ein Befehl nach dem anderem ausgeführt. Der Programmierer legt die Reihenfolge fest in der der Computer die Daten abarbeitet. In einer objektorientierten Sprache wie JAVA dagegen legt der Programmierer nur fest um welche Daten es sich handelt und was bei welcher Aktion sich ändern soll. Die Reihenfolge (ob jetzt zuerst der Zustand des Button 1 oder Button 2 gemessen wird) überlässt er dem Computer. Intern wird daraus ganz am Ende natürlich immer eine langer imperativer Assemblercode. Die Vorteile der Objektorientierung sind unter anderem:
- Die KLASSEN der Objekte (im obigen Beispiel BESCHREIBUNG später in Java class genannt) können in anderen Programmen leicht wiederverwendet werden.
- Besonders bei vielen Objekten spart man Quellcode, da man die If-Abfragen nicht selbst anlegen muss.
- Objektorientiertes Programmieren ist bei richtiger Anwendung eine sehr saubere und übersichtliche Art zu programmieren.
- Eine Klasse ist die Beschreibung eines Datentyps.
- Ein Objekt ist ein aus einer Klasse gebildeter Datentyp.
- Eine Methode ist ein kleines Mini-Programm das mit den Daten im Objekt arbeitet.
- Eine Variable ist der Verweis oder Referenz auf einen Speicherbereich in dem wir Daten ablegen können.
Aber genug der Theorie. Damit wissen wir bereits genug um mit dem programmieren anzufangen. Dabei werden wir das alles ganz nebenbei auch noch besser verstehen lernen. Installieren wir jetzt das JDK.