|
|
||||||||||
Folge 1: Wir lernen das Programm kennen |
||||||||||
Buch-VersionDie Folgen 1 bis 10 gibt es jetzt auch als Buch-Version. Noch nicht gedruckt, aber in Form von fünf PDF-Dateien. Die Buch-Version sieht besser aus, kann vor allem besser gedruckt werden - ach was, viel besser - und enthält Themen, die ich aus Zeitgründen im regulären Kurs nicht behandeln kann, zum Beispiel das komplette Kapitel 6 sowie einige Exkurse. |
|
|||||||||
VorbemerkungenIch gehe davon aus, dass Sie das Programm BlueJ auf Ihrem Rechner installiert haben. Zur Original BlueJ-Seite kommen Sie, wenn Sie dem Link www.bluej.org folgen. |
![]() ![]() 1 Das diesem Kurs zu Grunde liegende Buch, 1. Auflage und 3. Auflage Für Lehrer und Lehrerinnen interessant: Objektorientierte Programmierung im Unterricht |
|||||||||
Vorbereitungen
|
||||||||||
1. Das BlueJ-FensterStarten Sie BlueJ und laden Sie das Projekt "Figuren" bzw. "shapes".
2 Das BlueJ-Fenster Betrachten Sie zunächst das BlueJ-Fenster (Abb. 2). Das Fenster gliedert sich in drei Teilbereiche. Links sehen Sie einen grau unterlegten schmalen Bereich mit einigen Buttons. Mit diesen Buttons steuern Sie die wesentlichen Programmfunktionen. In der Mitte finden Sie den Hauptarbeitsbereich des Fensters, in dem die Klassen Ihres Projektes dargestellt werden. Der untere Bereich schließlich dient zur Aufnahme von verschiedenen Objekten. Im Hauptarbeitsbereich kann man vier Klassen erkennen: Leinwand, Kreis, Quadrat und Dreieck. |
Das erste Arbeitsblatt zu diesem Lehrgang können Sie sich hier als PDF-Dokument herunterladen. Es fasst die wichtigsten Schritte und Fachbegriffe zusammen. |
|||||||||
2. Klassen und ObjekteKlicken Sie mit der rechten Maustaste auf die Klasse Quadrat. Ein so genanntes Kontextmenü öffnet sich, das Ihnen die Methode "new Square()" und mehrere Befehle zur Auswahl stellt:
3 Das Kontextmenü einer Klasse (englische Version) Falls die Methode "new Square()" bzw. "neues Quadrat()" im Kontextmenü nicht vorhanden ist, so müssen Sie die Klasse Square bzw. Quadrat erst kompilieren. Rufen Sie dazu den Befehl Kompilieren (engl. Version: compile) auf. Durch das Kompilieren wird der Java-Quelltext der Klasse Quadrat jetzt in so genannten Java-Code übersetzt. Wenn Sie mit den Begriffen "Quelltext", "Kompilieren" und "Java-Code" noch gar nichts anfangen können, lesen Sie zunächst die Seite für Programmier-Einsteiger: "Programme und Programmiersprachen". |
Kompilieren ist das Übersetzen von einem Quelltext in ein ausführbares Programm.
Nähere Einzelheiten auf der Seite für Programmier-Einsteiger: "Programme und Programmiersprachen". |
|||||||||
| Wenn der Übersetzungsvorgang erfolgreich abgeschlossen wurde, können Sie mit der rechten Maustaste die Methode neues Quadrat() aufrufen. Wenn Sie die englische Version von BlueJ verwenden , heißt die entsprechende Methode new square(). Ich werde mich im Folgenden immer auf die deutsche Version beziehen. Wie Sie selbst BlueJ auf die deutsche Sprache umstellen können, erfahren Sie in dem Exkurs (rechts).
Mit der Methode neues Quadrat() erzeugen Sie ein Objekt der Klasse Quadrat. Diesem Objekt müssen Sie einen Namen geben, z.B. "kasten" oder "haus". Während die Bezeichner von Klassen immer mit Großbuchstaben beginnen, fangen die Bezeichner von Objekten stets mit Kleinbuchstaben an. Dies ist kein direkter Zwang, sondern eher eine Konvention, an die sich aber alle Java-Programmierer weitgehend halten. Erzeugen Sie jetzt ein zweites Objekt: Diesmal klicken Sie auf die Klasse Kreis und erzeugen ein Objekte namens "sonne".
4 Vier Klassen und ein Objekt "kasten" der Klasse "Quadrat" |
Bezeichner von Klassen: Fangen mit Großbuchstaben an. Bezeichner von Objekten: Fangen mit Kleinbuchstaben an.
|
|||||||||
ZwischenüberlegungVon Word her kennen Sie bestimmt Formatvorlagen, von denen Sie beliebig viele Dokumente herstellen können. In einer objektorientierten Programmiersprache wie Java verhalten sich Klassen und Objekte so ähnlich wie Formatvorlagen und Dokumente in einer Textverarbeitung. Während Sie bei Word aus einer Formatvorlage wie z.B. "ausgefallener Brief" beliebig viele konkrete Dokumente erzeugen können, so können Sie aus einer Klasse wie Quadrat beliebig viele Objekte erzeugen (zur Vertiefung siehe auch Theorieteil "Klassen und Objekte"). In BlueJ werden diese Objekte in dem unteren Bereich des Programmfensters angezeigt. Praktische Übung:Erzeugen Sie von jeder der Klassen Kreis, Quadrat und Dreieck mindestens ein Objekt. Denken Sie daran: Die Namen von Objekten sollten immer mit einem Kleinbuchstaben anfangen.
5 Vier Klassen und vier Objekte Hier wurde zum Beispiel ein Objekt kasten der Klasse Quadrat, zwei Objekte sonne und mond der Klasse Kreis und ein Objekt pyramide der Klasse Dreieck erzeugt. |
![]() Klassen und Objekte verhalten sich zueinander so ähnlich wie Formatvorlagen und Dokumente bei einer Textverarbeitung. Aus einer Klasse kann man beliebig viele Objekte herstellen; und jedes Objekt muss einer Klasse angehören.
|
|||||||||
3. MethodenWas kann man jetzt eigentlich mit den erzeugten Objekten wie kasten und sonne machen? Klicken Sie mit der rechten Maustaste auf eines der beiden Objekte.
6 Kontextmenü des Objektes sonne Es erscheint ein recht langes Kontextmenü mit vielen Methoden und den beiden Befehlen "Inspect" und "Remove". Methoden dienen zum Manipulieren von Objekten. Schauen Sie einmal genau hin, welche Methoden einem Kreis-Objekt zur Verfügung stehen. Mit der Methode farbeAendern() kann man z.B. die Farbe eines Kreises ändern, mit der Methode groesseAendern() kann die Größe verändert werden und so weiter (siehe Abb. 6). Mit Hilfe von Methoden kann man also ein Objekt verändern. Genauer gesagt, man kann den Zustand eines Objektes ändern. Den wichtigen Begriff Zustand werde ich im Theorieteil zu dieser ersten Folge noch näher erläutern. |
![]() Methoden definieren, was man mit einem Objekt alles machen kann. Man sagt auch: Mit Methoden kann man den Zustand eines Objektes verändern. |
|||||||||
4. Verändern der ObjekteKlicken Sie jetzt bitte mit der rechten Maustaste auf das Kreis-Objekt sonne und rufen Sie aus dem Kontextmenü die Methode sichtbarMachen() auf. Es erscheint ein neues Fenster mit weißem Hintergrund und einem blauen Kreis (Abb.7). Sie haben durch den Aufruf der Methode sichtbarMachen() den Zustand des Objektes sonne verändert: Vorher war das Objekt nicht sichtbar, jetzt ist es in dem Fenster zu sehen. Methoden wie sichtbarMachen(), die den Zustand eines Objektes verändern, heißen verändernde Methoden oder manipulierende Methoden. Wie jedermann weiß, ist unsere Sonne groß und gelb und nicht klein und blau. Sie sollen jetzt aus diesem "blauen Zwerg" eine normale gelbe Sonne machen. Dazu müssen Sie weitere verändernde Methoden aufrufen.
7 Ergebnis der Methode sichtbarMachen() |
Verändernde Methoden verändern den Zustand eines Objektes. Aus einem blauen Kreis wird z.B. ein gelber Kreis, wenn man die Methode farbeAendern() aufruft. |
|||||||||
4.1 Farbe verändern
8 So kann man mit BlueJ bequem Parameter eingeben Es braucht nicht viel Überlegung, welche der vielen Methoden der Kreis-Objekte wohl benötigt wird, um die Farbe des Kreises zu ändern. Richtig geraten; die Methode heißt farbeAendern(). Wenn Sie diese Methode jetzt aufrufen, passiert etwas Neues, und zwar erscheint ein Dialogfenster mit dem Titel "BlueJ: Methodenaufruf" (Abb. 8). Im oberen Teil des Fensters werden Sie ausführlich über die Bedeutung der Methode aufgeklärt. Im unteren Teil des Fensters müssen Sie die neue Farbe des Kreises eintippen. Wichtig ist, dass Sie die neue Farbe in Anführungszeichen setzen. Also nicht einfach gelb eingeben, sondern "gelb". Können Sie den Unterschied zwischen den beiden Methoden sichtbarMachen() und farbeAendern() mit wenigen Worten zusammenfassen? Die erste Methode konnte einfach so aufgerufen werden. Es waren keine weiteren Angaben notwendig. Der Aufruf der Methode machte den vorher unsichtbaren Kreis sichtbar. Die zweite Methode kann nicht einfach so aufgerufen werden. Wenn Sie die Farbe eines Kreises ändern wollen, so müssen sie genau angeben, welche Farbe der Kreis denn jetzt haben soll. Die Methode benötigt eine zusätzliche Information. In der Mathematik würde man hier von einem Argument sprechen, in der Informatik bezeichnet man solche zusätzlichen Informationen, die Methoden benötigen, als Parameter. Die Methode farbeAendern() benötigt genau einen Parameter, nämlich die neue Farbe. Es gibt aber auch Methoden, die zwei, drei oder mehr Parameter benötigen. Wenn Sie zum Beispiel ein Objekt der Klasse Dreieck anlegen und dann die Größe ändern wollen, so müssen Sie die neue Höhe und die neue Breite des Dreiecks eingeben. |
||||||||||
4.2 Größe verändernSie können sich bestimmt schon denken, wie die Größe der Sonne verändert werden kann. Richtig: Sie müssen die Methode groesseAendern() aufrufen. Auch diese Methode benötigt einen Parameter, nämlich die neue Größe, die der Kreis haben soll. Im Gegensatz zu farbeAendern() dürfen Sie jetzt keine Zeichenkette in das Textfeld des Dialogfensters eintippen, sondern es wird ein Zahlenwert erwartet. Tippen Sie jetzt die Zahl 100 ein - ohne Anführungszeichen wohlgemerkt. Haben Sie es bemerkt? Es gibt in Java unterschiedliche Typen von Parametern. Bei farbeAendern() mussten Sie einen Text in Anführungszeichen eintippen - einen so genannten String (deutsch: Zeichenkette). Bei groesseAendern() dagegen mussten Sie eine ganze Zahl eingeben.
9 Eine Sonne erscheint Jetzt hat der Kreis nicht nur eine andere Farbe, sondern ist auch größer geworden. Durch den Aufruf der Methode farbeAendern() haben Sie das Attribut farbe des Objektes kreis1 verändert. Vorher hatte das Attribut farbe den Attributwert "blau", jetzt hat es den Attributwert "gelb". Durch den Aufruf der Methode groesseAendern() wurde entsprechend der Attributwert des Attributes durchmesser geändert.Verändernde Methoden heißen deswegen so, weil sie mindestens einen Attributwert des Objektes verändern. 4.3 Position verändernAls letzte Übung in diesem Schritt 4 sollen Sie die Position der Sonne verändern, so dass sie ungefähr die Position hat wie in Abbildung 9. Dazu eignen sich die Methoden nachRechtsBewegen() und nachUntenBewegen() hervorragend. |
Verändernde Methoden verändern die Werte von Attributen. |
|||||||||
5. Ein tolles Bild zeichnenKontrollieren Sie bitte, ob Sie in Ihrem BlueJ-Projekt folgende Objekte erzeugt haben: Einen Kreis namens sonne, einen zweiten Kreis namens mond, ein Quadrat namens haus und ein Dreieck namens dach. Rufen Sie dann für jedes der Objekte die Methode sichtbarMachen() auf. Ihr "Gemälde" sollte dann ungefähr so aussehen wie in Abbildung 10, falls Sie den Kreis sonne bereits wie oben besprochen verändert haben. Wenn nicht, sehen Sie nur einen blauen Kreis, der in Wirklichkeit aber aus zwei Kreisen sonne und mond besteht, die jedoch die gleichen Koordinaten haben.
10 Vier Objekte werden angezeigt |
||||||||||
Übung 1.1 - Malen Sie ein BildVersuchen Sie durch geschickten Aufruf verschiedener Methoden folgendes Bild zu erzeugen:
11 Dieses Bild soll angezeigt werden In Hinblick auf die nächste Übung (Folge 2) wird Ihnen dringend empfohlen, dass Sie sich genau aufschreiben, welche Methoden Sie in welcher Reihenfolge mit welchen Parametern aufrufen. Bevor Sie nun mit der Folge 2 weitermachen, müssen Sie den zur Folge 1 gehörigen Theorieteil Klassen und Objekte durcharbeiten. |
||||||||||
Weiter mit dem Theorieteil: Klassen und ObjekteDiese HTML-Seite wurde erstellt von Ulrich Helmich am 23. Januar 2005. |
||||||||||
Sie sind Besucher Nr.
seit dem Erreichen der 10-Millionen-Marke am 21.01.2010