Mein erstes Raumschiff in BlueJ

BlueJ (Java) Tutorial 001

Wie wird man der größte Hacker der Welt? Und wie wird man das mit BlueJ? Was ist BlueJ eigentlich und warum sollte ich nicht einfach direkt Java lernen? Hä, Java, was ist das jetzt? Hier beantworte ich euch diese und noch viele weitere Fragen zum Einstieg in BlueJ.

Du hast BlueJ schon installiert und willst direkt richtig loslegen? Dann überspring doch dieses Tutorial und schau dir direkt das nächste an (kommt bald)

Unsere erste Klasse, die die Raumschiffe unserer Flotte modelliert.
Unsere erste Klasse, die die Raumschiffe unserer Flotte modelliert.

Objekte und Klassen

Bevor nun endlich anfangen unser erstes Programm zu programmieren und auszuführen, müssen wir etwas genauer über das sprechen, wir aktuell sehen können.

Mit BlueJ programmieren wir objektorientiert. Das heißt wir arbeiten mit individuellen Objekten, nutzen ihre "Fähigkeiten" und verändern ihre "Eigenschaften". Aber dazu später mehr. An dieser Stelle erstmal wichtig ist, dass wir die Begriffe Objekt und Klasse verstehen.

In unserem Beispiel startet ihr gerade im Raumschiffbusiness durch und habt nun endlich euer erstes Objekt erstanden: Einen niegelnagelneuen X-Wing! Jedes Objekt ist ein Objekt einer ganz bestimmten Klasse, also eines ganz bestimmten Typs. Unser neuer X-Wing ist ein Objekt der Klasse Raumschiff. Es kann von einer Klasse beliebig viele Objekte geben.

Eine Klasse ist eine Art Vorlage zur Erzeugung von Objekten. So gibt eine Klasse beispielsweise vor, wie ein typisches Objekt dieser Klasse "aussieht" und was es "kann". Klickt doch mal doppelt auf eure neue Klasse. Ihr werdet sehen, dass sich der Quelltexteditor von BlueJ öffnet und den Quelltext der Klasse Raumschiff anzeigt. Der Quelltext ist der für Menschen lesbare in einer Programmiersprache (nämlich Java) geschriebene Code, der ein Programm beschreibt. Hier beschreibt der Quelltext, was ein Raumschiff "ist" und, was es alles "kann".

Um den Begriff der Klasse auf unser Beispiel anzuwenden, müssen wir noch zwei weitere Begriffe einführen.

Ein X-Wing aus LEGO, der ein Objekt repräsentiert.
Ein Objekt. Ganz individuell. Und das erste Raumschiff in unserer Flotte. Hier ein T-65 X-Flügler mit der Nummer 001

Attribute und Methoden

Das Raumschiff hat ganz bestimmte Eigenschaften. Diese nennen wir ab sofort die Attribute unseres Objektes. Beispielsweise hat euer Raumschiff (unten abgebildet) die Bezeichnung X-Flügler und die Modellnummer T-65

1

. Da es das erste Schiff eurer Flotte ist, erhält es die Raumschiffnummer 001. Die Bezeichnung, die Modellnummer und auch die Raumschiffnummer sind dann die Attribute unseres Objektes.

Als den Zustand eines Objektes bezeichnen wir nun die Gesamtheit aller Attributwerte, also: Das ist ein T-65 X-Flügler, dem wir die Nummer 001 gegeben haben.

Euer Raumschiff kann momentan noch nicht so wahnsinnig viel. Ich meine, wer gebraucht kauft, muss eben auch noch ein wenig daran machen. Alles, was euer Raumschiff kann, ist in Methoden definiert. Wir werden unser Raumschiff gleich soweit in Gang bringen (den Quelltext anpassen), dass sich der Bordcomputer schonmal bei uns meldet und die Meldung "Hello World" ausgibt2 Wenn das schonmal klappt, kriegen wir den Rest auch wieder hin.

Verfeinerung des Klassenbegriffs

Eine Klasse (wie unsere Klasse Raumschiff) ist, wie bereits erwähnt, eine Vorlage zur Erzeugung von Objekten. Unter Verwendung der gerade erklärten Begriffe bedeutet das:

Eine Klasse definiert, über welche Attribute und Methoden neue Objekte der Klasse verfügen. Dabei besitzt jedes Objekt (jede Instanz der Klasse) alle Attribute und Objekte, die die Klasse vorgibt.

Es kann zum Beispiel kein Raumschiff ohne das Attribut Bezeichnung geben. Was für Attributwerte ein individuelles Objekt (ein Raumschiff) hat, kann natürlich ganz verschieden sein. So habt ihr in eurer Flotte nun einen X-Wing. Es gibt aber auch noch andere Raumschiffe und im Laufe der Tutorials werdet ihr eure Flotte wesentlich erweitern.

Starten wir unser Schiff

Sorgen wir dafür, dass wir den Bordcomputer unseres Raumschiffs in Gang kriegen. Dafür öffnen wir nocheinmal den Quellcode der Klasse Raumschiff. Ihr müsst nicht direkt alles verstehen, was ihr hier steht.

Damit wir wirklich mit einem minimalistischen einfachen Programm anfangen, löschen einfach mal alles, was wir sehen und bauen es Schritt für Schritt neu auf. Euer Code sollte nun so aussehen (ja da ist wirklich nix!):

Eine neue Klasse

In Java programmieren wir alles innerhalb von Klassen. Unsere Klasse heißt Raumschiff. Das müssen wir jetzt auch im Code nochmal angeben:

public class Raumschiff
{

}

Das public schauen wir uns später an. class Raumschiff sagt: "Hey, ich möchte hier die Klasse Raumschiff programmieren". Und zwar genau zwischen den { }. Achtet darauf, dass wirklich alles, was innerhalb der Raumschiffklasse sein soll auch zwischen den beiden Klammern ist.

Unsere erste Methode

Bis jetzt hat unser Raumschiff keinerlei Eigenschaft und kann noch überhaupt gar nichts. Die Eigenschaften bekommt es im nächsten Tutorial. Hier wollen wir lediglich dafür sorgen, dass "der Bordcomputer sich bei uns meldet" (dass "Hello World" ausgegeben wird).

Dafür erstellen wir eine neue Methode mit dem Namen activate:

public class Raumschiff
{
    public void activate() {
        
    }
}

public und void klären wir später. Wichtig ist erstmal nur, dass wir eine neue Methode mit dem Namen activate erstellt haben. Mit ( ) sagen wir unserem Programm, dass das hier eine Methode ist. Innerhalb der neuen { } kommt nun das, was unsere Methode machen soll. Die Einrückung der Zeilen ist in Java tatsächlich egal. Ihr sollte jedoch für die Lesbarkeit des Programms jedes Mal, wenn ihr einen neuen Block (eine Klasse, eine Methode oder was auch immer) aufmacht den darauffolgenden Code ein wenig (meist 4 Leerzeichen, bzw. einen Tab) einrücken. So rücken wir jetzt den Code, der innerhalb der Methode steht wird wieder ein wenig ein. Damit lässt sich dann leicht erkennen, dass die Methode innerhalb der Klasse Raumschiff ist und, dass der neue Code innerhalb der activate-Methode ist.

Sorgen wir nun dafür, dass der Text Hello World angezeigt wird, wenn wir unser Raumschiff aktivieren (wenn wir die Methode activate()) aufrufen). In Java schreiben wir dafür innerhalb unserer Methode folgenden Befehl:

System.out.println("Hello World");

Euer vollständiges Programm sollte nun so aussehen:

public class Raumschiff
{
    public void activate() {
        System.out.println("Hello World");
    }
}

Fertig. Eure Klasse Raumschiff ist nun so erweitert worden, dass alle Objekte, die ihr vom Typ Raumschiff erstellt über eine neue Methode mit dem Namen activate() verfügen.

Führen wir das Programm (bzw. diese neue Methode mit Hilfe eines neuen Objektes) mal aus. Dafür schließt ihr den Quelltexteditor und übersetzt (kompiliert) euer Programm. Die Schraffierung der Klasse Raumschiff sollte verschwinden. Nun klickt ihr mit der rechten Maustaste auf die Raumschiffklasse und erstellt mit Hilfe von new Raumschiff() euer erstes Raumschiff-Objekt.

Das erste Raumschiff wurde erstellt. Die kleine rote Box repräsentiert ein Objekt der Klasse Raumschiff
Das erste Raumschiff wurde erstellt. Die kleine rote Box repräsentiert ein Objekt der Klasse Raumschiff

Klickt ihr dieses Objekt nun mit der rechten Maustaste an, findet ihr in dem erscheinden Menü den Punkt void activate(). Das klingt doch sehr nach unserer neuen Methode. Klickt ihr nun darauf, wird euch der Text Hello World angezeigt.

In der BlueJ Konsole wird die Ausgabe "Hello World" angezeigt
In der BlueJ Konsole wird die Ausgabe "Hello World" angezeigt

Hurra. Euer erstes Raumschiff steht im Hangar und ihr bekommt schonmal den "Bordcomputer" an, der euch nun freundlich begrüßt.

Zusammenfassung

Ihr solltet nun die wichtige Grundbegriffe schonmal gelesen haben. Wir haben unser erstes Programm in Java mit Hilfe von BlueJ erstellt und ausgeführt. So schwer war das doch gar nicht oder?

Schau dir gerne auch das Video an, in dem ich den gesamten hier vorgestellten Installationsprozess noch einmal erkläre und noch auf ein paar weitere Details eingehe. (Kommt bald)

  1. Mehr über den X-Wing hier
  2. Was soll das mit dem Hello World??? Aaaah.

Leave a comment



Copyright 2017 maximilian von unwerth © All Rights Reserved