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

Warum Java Kommentare immer ein Mittel der Kommunikation sind

Java Kommentare Kommunikation

Kennst Du die Bücherreihe „Miteinander reden“ von Schulz von Thun? Falls Du an der Uni warst oder bist, gehört dieses Buch zur Standardlektüre im Fach Schlüsselkompetenz. Denn ein Java Entwickler, welcher im Team arbeitet, muss klar und deutlich kommunizieren können. Und klar und deutlich heißt nicht, dass die Aussprache Deiner Worte verständlich sein soll. Nein […]

Java Übung 25 – Simuliere eine Gelddruckmaschine

Java Übung Gelddruckmaschine

In dieser Java Übung geht es um Schleifen. Und zwar möchte ich, dass du eine virtuelle Geldruckmaschine erstellst. Was meine ich damit? Du gibst in der Konsole einen x-beliebigen Betrag ein und das Programm gibt dir virtuelle Geldscheine zurück. Ein Beispiel: Du gibst die Zahl 400 ein. Dann liefert dir das Programm 2 x 200 […]

Java Konsolenausgaben mit formatierten Zahlen

Java Konsolenausgaben Zahlen

Java Konsolenausgaben erzeugst du mit der System.out.println()-Anweisung. Dies ist relativ einfach. Aber es ist mitunter nicht ganz praktisch. Und zwar immer dann, wenn Zahlen im Spiel sind. Die Zahlen welche dann auf deiner Java Konsole erscheinen, sind unformatiert. Sie haben zu viele Kommastellen. Oder für eine bessere Darstellung benötigst du den Tausenderpunkt. Vielleicht möchtest du […]

Nutze die richtigen Methoden zum Java Lernen

Java lernen Methoden

Ich lernte die Java Programmierung auf die klassische Art. Ich kaufte mir das erste Buch und los ging es. „Jetzt wirst du Java lernen“ – sagte ich zu mir. Ich war relativ schnell ziemlich frustriert, denn irgendwie fehlten mir ein paar Zusammenhänge. Kennst du das? Du hast ein Wissensfetzen und noch einen. Aber das Wichtigste. […]

Die vier wichtigen Phasen um Java Objekte zu erstellen

Java Objekte anlegen

Wie werden aus deinen Java Klassen richtig nützliche Java Objekte? Das ganze läuft in vier Phasen ab. Und diese Phasen möchte ich dir in diesem Beitrag vorstellen. Ob das nützlich ist? Schau dir das Bild an. Am Ende dieses Beitrages wirst du wissen, warum Eclipse dir hier eine Fehlermeldung gibt und wie du dieses Problem […]

So kannst du deine Eclipse Oberfläche anpassen

Eclipse anpassen

In diesem Beitrag möchte ich dir zwei ganz nette Features von Eclipse vorstellen. Es geht um Views und um Perspektiven. Wie du schon weißt, besteht Eclipse aus einer grafischen Oberfläche. Und in dieser Oberfläche stehen dir verschiedene Views zur Verfügung. Was ist so ein View?

So verwendest du Inkrement und Dekrement Operatoren in deinen Java Programmen

Java Operatoren

In diesem Beitrag geht es um Java Operatoren. Ich möchte dir gern zwei neue Operatoren vorstellen. Diese nennen sich Inkrement und Dekrement. Ja was heißt das? Inkrementieren bedeutet eine schrittweise Erhöhung einer Zahl. Und dementsprechend bedeutet Dekrementieren: Die schrittweise Verminderung einer Zahl. Wozu brauchst du das? Stell dir vor. Du bekommst eine Liste mit Namen […]

Verwalte deine Java Klassen in packages

java klassen verwalten

Es macht durchaus Sinn deine Java Klassen in verschiedenen Paketen zu organisieren. Wieso? Es sprechen mehrere Gründe dafür: Du kannst doppelte Klassennamen verwenden Du kannst deinen Code oder deine Klassen inhaltlich trennen Du kannst Hierarchien abbilden. Und genau um diese Dinge geht es in diesem Beitrag