Aktuelle Seite: Home Berufliche Informatik Objektorientierte Programmierung Java Klassen und Objekte
Eine verständliche Erklärung liefert https://www.teialehrbuch.de/Kostenlose-Kurse/JAVA
hier eine Kostprobe:
Klassen, Objekte und Referenzvariablen
Ein Objekt ist eine konkrete Ausprägung einer Klasse. Die Klasse selbst ist eine abstrakte Beschreibung bzw. Schablone der einzelnen Objekte. |
Im Zusammenhang mit objektorientierter Programmierung werden die Begriffe Objekt, Klasse und Referenzvariable verwendet. Nachfolgend werden ihre Bedeutung und ihre Beziehungen untereinander erläutert.
Klasse:
Klassen sind Baupläne für Objekte, vergleichbar mit dem Bauplan für ein Haus. Wie im wirklichen Leben kann man in Bauplänen nicht leben. Es muss erst eine konkrete Instanz des Plans erzeugt werden (also ein Haus). Erst dadurch entsteht ein Objekt mit all den Eigenschaften (Attributen) eines Hauses (Küche, Schlafzimmer, Wohnbereich ...), und in diesem Haus-Objekt kann man wohnen. Mit einem Bauplan können beliebig viele Häuser gebaut werden. Jedes Haus ist ein Objekt, das sich durch den Wert der Attribute von den anderen Häusern unterscheiden kann (unterschiedliche Wandfarben, unterschiedliche Bodenbeläge, unterschiedliche Fenster ...).
Eine Klasse enthält also Attribute bzw. Eigenschaften, die die einzelnen Objekte charakterisieren. Zum Beispiel unterscheidet sich ein schwarzer Hund von einem braunen Hund durch das Attribut "Farbe".
Zusätzlich zu den Attributen werden in Klassen auch Methoden (Operationen) deklariert. Wie die Attribute die Eigenschaften eines Objektes repräsentieren, so stellen die Methoden das Verhalten dar. Die Methoden beschreiben die Aktionen, die ein Objekt ausführen kann bzw. die auf einem Objekt ausgeführt werden können. Zum Beispiel kann in der Klasse "Hund" die Methode "bellen" aufgenommen werden.
Nachfolgend wird eine Klasse Konto dargestellt. Ein Konto hat eine Kontonummer und einen Kontostand. Diese Eigenschaften werden durch die Attribute kontoNr und kontostand repräsentiert. Des Weiteren kann auf ein Konto Geld eingezahlt bzw. abgehoben werden. Ebenso kann der aktuelle Kontostand abgefragt werden. Diese Aktionen werden durch die Methoden einzahlen, abheben und kontostandAbfragen ermöglicht.
Beispiel: Konto-Klasse |
class Konto {
int kontoNr;
double kontostand;
void einzahlen(double betrag) {
...
}
void abheben(double betrag) {
...
}
double kontostandAbfragen() {
...
}
}
|
Objekt, Instanz:
Eine Instanz einer Klasse bezeichnet ein tatsächliches Objekt. Während eine Klasse eine abstrakte Darstellung eines Objektes ist, ist eine Instanz oder ein Objekt eine konkrete Repräsentation. Um aus einer Klasse ein Objekt zu bilden, ist eine "Instanziierung", also die Bildung von Objekten aus der Klasse, nötig.
Objekte werden in Java erst zur Laufzeit der Applikation mittels des Operators new erzeugt. Dabei wird Speicherplatz belegt, in dem der Zustand des Objektes gespeichert ist. Aus einer Klasse können beliebig viele Objekte erzeugt werden. Jedes Objekt ist einzigartig. Objekte, die aus der gleichen Klasse erzeugt wurden, weisen als Eigenschaften die Attribute auf, die in der Klasse definiert wurden. In jedem Objekt können diese Attribute unterschiedliche Werte annehmen.
Dieser Sachverhalt wird in dem folgenden Beispiel dargestellt.
Beispiel: Konto-Objekte |
class Konto {
int kontoNr;
double kontostand;
void einzahlen(double betrag) {
...
}
void abheben(double betrag) {
...
}
double kontostandAbfragen() {
...
}
public static void main(String[] args) {
Konto konto1 = new Konto();
konto1.kontoNr = 123456;
konto1.kontostand = 1000.0;
Konto konto2 = new Konto();
konto2.kontoNr = 234567;
konto2.kontostand = 2000.0;
}
}
|
Einzelheiten zu dem Quellcode, wie z.B. zu der Deklaration von Klassen, Attributen und Methoden, finden Sie in nachfolgenden Lektionen. Ebenso wurde direkt auf die Attribute zugegriffen, was vermieden werden sollte. Näheres dazu finden Sie im Abschnitt über die Datenkapselung.
Referenzvariable:
Eine Referenzvariable ist eine Variable, die auf ein Objekt im Speicher verweist. Sie stellt nicht selbst das Objekt dar, sondern dient als Hilfsmittel, um mit dem Objekt umgehen zu können. Über eine Referenzvariable kann auf die Attribute des Objektes zugegriffen bzw. dessen Methoden aufgerufen werden. Im obigen Beispiel sind konto1 und konto2 Referenzvariablen.
https://www.teialehrbuch.de/Kostenlose-Kurse/JAVA/6588-Klassen-Objekte-und-Referenzvariablen.html