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.


Ähnliche Beiträge

So nutzt du die While Schleife in deinem Java Programm

Java While Schleife

Manchmal ist es wichtig, Dinge einmal öfter zu tun. Bei der Java Programmierung kann es schonmal sein, dass du einen Code mehrfach ausführen lassen musst. Zum Beispiel die Zahlen eins bis zehn. Ein Java Programm, welches die Zahlen eins bis zehn wiedergibt. Na wie wäre das? Der Java Code dazu würde so aussehen: public class […]

Sicherer Schleifendurchlauf mit Do while Schleife

Java Do While Schleife

Es ist doch eigentlich so: Immer wenn du die Anzahl der Schleifendurchläufe nicht kennst, nutzt du in deinen Java Programmen while Schleifen. Doch Java bietet dir neben der While Schleife einen weiteren Schleifentyp an. Diese nennt sich do while Schleife. Was kann die? Eigentlich genau das Gleiche, wie die while Schleife. Mit einem kleinen aber […]

Java Übung 27 – Auf zur Mathe-Olympiade

Java Übung Mathe Olympiade

In dieser Java Übung möchte ich mit dir ein Programm erstellen, welches ein Mathematik-Test oder eine Mathe-Olympiade simuliert. Du kennst das vielleicht noch aus der Schule. Matheolympiade- Da wurden aus allen vier Grundrechenarten, Aufgaben formuliert. Die Schüler mussten diese Aufgaben lösen. Die Lehrer kontrollierten die Lösungen. Und der Schüler, welcher die wenigsten Fehler hatte – […]

Der bedeutende Unterschied zwischen Klassenvariablen und Instanzvariablen

Java Klassenvariablen

Bei der Java Programmierung unterscheidet man drei Arten von Variablen. Als erste Gruppe sind die lokalen Variablen zu nennen. Auf diese gehe ich in einem separaten Artikel ein. Mich interessieren die zwei anderen Variablentypen. Zum einen existieren Klassenvariablen. Und dann sind da noch die Instanzvariablen. Wo liegt der Unterschied? Instanzvariablen stehen einem Objekt zur Verfügung. […]

So kannst du in den Java Klassen Attribute anlegen

Java Klassen Attribute

Die bisherigen Java Klassen in unserem Einführungsbeispiel besitzen noch keine Attribute. Das ändern wir und legen diese jetzt an. In diesem Beitrag erfährst du: Warum Variablen in deinen Klassen eine entscheidende Rolle spielen. Was es bedeutet eine Variable zu deklarieren. Wo du Attribute in den Java Klassen anlegen darfst und wo nicht. Wie du durch […]

Den Java Vererbungsbaum nach dem Ist-Es-Prinzip richtig entwerfen

Java Vererbungsbaum

Vererbungsbaum in Java – klingt erstmal komisch. Dennoch wird dies so bezeichnet. Gemeint sind damit – die einzelnen Hierarchiestufen oder Vererbungsebenen – von der Superklasse bis runter zu den Kindklassen. Wie sieht das nun konkret aus? Vererbung bedeutet: Du definierst einen allgemeinen Typen – zB. Möbel Und dann implementierst du eine Unterklasse, welche die Oberklasse […]

Java Exceptions Handling – Fehler- und Ausnahmenbehandlung in Java

Java Exceptions Handling

Java Exceptions Handling umfasst den richtigen Umgang mit Ausnahmen und Fehlern. Wie geht das? Und braucht man so etwas wirklich? Vielleicht sagst du jetzt: „Brauch ich nicht. Ich mache niemals Fehler.“ Doch… Bei der Java Fehlerbehandlung geht es nicht ausschließlich nur um deine Programmierfehler. Es geht auch um falsche Nutzereingaben, Hardware- und Ablauffehler. Und deshalb […]