Skip to main content

Die drei Bestandteile aller Java Klassen

Java ist eine objektorientierte Programmiersprache.

Was heißt das?
Ja… Anscheinend hat es etwas mit Objekten zu tun.

Also was ist ein Objekt?
Ein Objekt ist ein bestimmtes Konstrukt im Programm.

Bauen wir ein Spiel. Ein Grafik-Adventure.

Du kennst das.
Ein Held wird in eine bestimmte Spielwelt hinein gesteckt.
Der Held muss mit bestimmten Personen sprechen.
Er muss Gegenstände einsammeln und diese an anderer Stelle nutzen.
Und natürlich muss der Held Rätsel lösen.

Und all das dient dazu, die Story voran zu bringen.

Und all die Dinge,

  • Der Held
  • Die Gegenstände
  • Die anderen Personen

Sind in einem Java Programm Objekte.

java klassen objekte

Aber Objekte stehen dir nicht von Anfang zur Verfügung.
Diese müssen erst einmal gebaut werden.

Und für jeden Zusammenbau benötigst du einen Bauplan oder eine Gebrauchsanweisung.

Du brauchst Baupläne für den Helden, für die Gegenstände usw.
Und diese Baupläne sind deine Java Klassen.

Also sind Java Klassen nichts anderes als Baupläne für deine Adventure Objekte.

Und so eine Klasse besteht wiederum aus Konstruktoren, Methoden und Variablen.

Und jetzt lass und diese einzelnen Dinge für dein Adventure planen.

Du nutzt einige Variablen für bestimmte Objekte und andere für das ganze Programm.

Variablen treten in drei Formen auf.

  • Instanzvariablen
  • Klassenvariablen
  • Und lokale Variablen

Instanzvariablen sind Objektvariablen.
Diese stehen für deine Objekte bereit.
Variablen sind so etwas wie Eigenschaften der Objekte.

In deinem Java Adventure hat der Held eine bestimmte Größe, einen Namen, eine Farbe usw.
Und auch die Gegenstände haben Eigenschaften.

All das wären Objektvariablen.
Anders gesagt die Objekteigenschaften.

java klassen variablen

Neben den Instanzvariablen gibt es noch Klassenvariablen.
Diese Variablen werden auch statische Variablen genannt.

Und so eine statische Variable kann von allen Objekten genutzt werden.
Und außerdem dienen diese Variablen dem kompletten Programm bzw. dem Spiel.

Zum Beispiel könnte eine Highscore Liste angeboten werden.
Oder die einzelnen Szenen haben gewisse Frameraten.
All dies wären Beispiele für Klassenvariablen.

Deine Objekte müssen etwas können. Für Interaktionen nutzt du Methoden

Du kennst das vielleicht auch.

In alten Adventure standen unter dem Bildschirm immer Befehle, wie „Gehe zu“, „Benutze“, „Rede mit“ usw.
All dies sind die Tätigkeiten, welche der Held im Spiel vollbringen kann.

Und diese Tätigkeiten bietest du bei der Java Programmierung in Methoden an.
Ganz konkret sind dies Instanz- oder Objektmethoden.

java-klassen-methoden

Du ahnst es.
Objektmethoden sind lediglich Methoden für die einzelnen Objekte im Programm.

Du hast recht.

Neben den Objektmethoden gibt es wieder statische Methoden. Und diese Klassenmethoden sind wichtig für das komplette Programm.
Statische Methoden sind zum Beispiel:

  • Starte das Spiel
  • Erschaffe dieses Objekt
  • Beende dieses Spiel.

Jetzt hast du die Eigenschaften deines Helden und der anderen Gegenstände in den Variablen festgelegt.
Du hast in den Methoden die Tätigkeiten der einzelnen Objekte bereitgestellt.

Jetzt musst du diese nur noch erschaffen.
Du musst also ein Objekt erschaffen, welches die Eigenschaften und die Methoden bereitstellt.

Und dies machst du mit einem Konstruktor.

Konstruktoren sind die ganz konkreten Baupläne der einzelnen Java Klassen.

Mit einem Konstruktor erschaffst du ein Objekt.

Und jetzt kannst du deinem Objekt von Anfang an bestimmte Dinge mitgeben.
Beispielsweise die Farbe des Helden.

Klar der Held hat irgendwelche Klamotten mit bestimmten Farben an.
Für ein Adventure untypisch aber in Rollenspielen gängig, ändert sich die Ausrüstung der Helden.

Alle Eigenschaften und alles was dein Held von Anfang an kann, wird im Konstruktor festgelegt.
Somit ist der Konstruktor eine ganz konkrete Bauanweisung zur Erschaffung des Objektes.

Einen statischen Konstruktor, welche für das Programm zuständig ist, gibt es nicht.
Konstruktoren stehen somit nur Objekten zur Verfügung.

Was bringt das ganze Klassenkonzept.

Stell dir vor…

Du hast das ganze Spiel fertig gestellt.
Und jetzt stellst du fest. Der Held sollte kein Mann sein, sondern eine Frau.

Was dann?
Du müsstest das ganze Programm ändern. Jede einzelne Spielszene müsstest du abändern.

Jede Person im Spiel müsste dich anders ansprechen.

Ganz doof.

Aber nicht in Java.
In Java hast du das ganze ja in Objekten und Klassen gegliedert.

Du brauchst zentral somit nur einige Variablen der Heldenklasse ändern und diese wirken sich auf das ganze Programm aus.

Du kannst dir dieses Konzept in etwa so vorstellen.

Jede Szene lädt das Heldenobjekt in das Programm.
Sobald du den Helden zentral abänderst, ändern sich natürlich auch alle Szenen ab

java-klasse-teile

Zusammenfassung:

  • Java Programme bestehen aus Klassen.
  • Java Klassen bestehen aus Methoden, Variablen und Konstruktoren.
  • Dabei solltest du unterscheiden, ob die Variablen und Methoden für Objekte oder für das komplette Programm zur Verfügung stehen.
  • Konstruktoren dienen dazu ein Objekt ganz konkret zu erschaffen.

Nah, wie hat dir dieser Artikel gefallen?
Hast du auch richtig Bock bekommen ein Spiel zu programmieren?

Hinterlasse mir doch einen Kommentar unter diesem Beitrag.