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

Der Aufbau von Java Klassen

Java Klassen Aufbau

Jedes Java Programm besteht aus Java Klassen. Doch wie sind diese aufgebaut? Wie setzt sich die Struktur zusammen? Wo befinden sich Klassen hierarchisch? Was kommt in die Klassen rein und wie wird es integriert? Das sind die Fragen, welche ich in diesem Artikel beantworten werde. Doch bevor wir bei den Klassen ansetzen, müssen wir eine […]

So unterstützen dich Java Vererbungstabellen beim Entwurf

Java Vererbungstabellen

Bei der Java Vererbung gibt es zwei Klassenarten bzw. -stufen. Die Superklassen, welche einen allgemeinen Typen darstellen Und die spezielleren Unterklassen, welche die Superklasse um bestimmte Funktionen erweitern. Jetzt ist dieses ganze „Der-erbt-von-dem-Konzept“ mitunter sehr schwierig darzustellen. Zum Beispiel in einem Werkzeugkoffer. In einem Werkzeugkoffer befinden sich sämtliche Werkzeuge, von Säge bis Bohrmaschine. Wie machst […]

Java Übung 16 – Bestimme den größten gemeinsamen Teiler

Java Übung Teiler

In dieser Java Übung möchte ich, dass du den größten gemeinsamen Teiler zwei Zahlen ermittelst. Ich möchte, dass du das Ganze mit einer while-Schleife umsetzt. Und wie? Du legst eine neue Klasse „GGT“ (größter gemeinsamer Teiler) an. In diese Klasse implementierst du eine Klassenmethode „berechneGGT“. Diese erwartet zwei Argumente vom Datentyp Integer.

So kannst du dein Java Programm mit der main Methode ausführen

Auf zum ersten Java Programm. Vielleicht fragst du dich jetzt gerade: Na, was haben wir denn bisher gemacht? War das etwa kein Java Programm? Wir haben bisher nur eine Klasse „Human“ für ein zuküntfiges Mensch-Objekt erstellt. Diesem Objekt haben wir eine Instanzvariable, namens size (Größe) zugeordnet. Und wir haben eine Instanzmethode, namens grow (wachsen) geschrieben. […]

Java lernen – 10 nützliche Tipps für Java Anfänger

Java Lernen Anfänger

Wenn du die Programmiersprache Java lernen möchtest, bist du hier prinzipiell erst einmal richtig. Und wenn du es wirklich ernst meinst und in die Java Programmierung einsteigen möchtest, solltest du auch meinen kostenlosen Java Kurs beanspruchen. Wenn du dabei bist, bekommst du: Eine Lektion pro Woche zu den Basics. Hier geht es um die ersten […]

Java Objekte leben auf dem Heap

Java-Objekte-Heap

Java hat eine interne Speicherverwaltung. Eigentlich ist es nicht nur eine. Es sind mehrere.   Uns interessieren nur zwei. Methoden und lokale Variablen werden auf dem Stack verwaltet. Und die Speicherverwaltung für Java Objekte und den Instanzvariablen findet auf dem Heap statt.   Ja wieso braucht Java eigentlich zwei Speichersysteme?   Es ist ganz einfach. […]

Java Binärzahl in Dezimalzahl umwandeln – So geht’s.

Java-Binärzahl-umrechnen

Erinnerst du dich? In einer der letzten Beiträge haben wir uns die Zusammenhänge zwischen dem dualen und dem dezimalen Zahlensystem angeschaut. Aber wir haben noch keine Java Binärzahl in eine Dezimalzahl verwandelt. Zumindestens nicht praktisch…. Stattdessen…. Haben wir festgestellt, dass beide Zahlensysteme im Grunde genommen sehr ähnlich sind. Beim Dezimalsystem spielt die Zahl 10, als […]

Der wichtige Unterschied zwischen Java Methoden

Java Methoden Unterschied

Jetzt machen wir Nägel mit Köpfen. Dieses Sprichwort stammt aus den Anfängen des Industriezeitalters. Denn früher wurden Nägel nicht industriell, sondern per Hand gefertigt. Und da kam es schon einmal vor, dass versehentlich Nägel ohne Kopf produziert wurden. Was blieb ist das Sprichwort „Nägel mit Köpfen“ Und dieses steht sinngemäß für eine schnelle, qualitativ hochwertige […]

Java lernen von Kopf bis Fuß

Wenn du Java lernen möchtest, kannst du an meinem kostenlosen Java Kurs teilnehmen. Aber manch Einer hätte gern eine zweite Meinung. Und da bieten sich natürlich Java Bücher an. Eines dieser Java Bücher möchte ich dir jetzt vorstellen. Dieses Buch nennt sich „Java von Kopf bis Fuß“. Was kannst du von diesem Buch erwarten? Also […]