Zum Inhalt springen

Informatik · Klasse 10–12 · aktualisiert

Klassen in Java: Bauplan für Objekte verstehen

Du lernst, wie eine Java-Klasse Objekte beschreibt: Attribute, Methoden, Konstruktor, static und was beim Erzeugen mehrerer Objekte geschieht.

0 von 9 Aufgaben gelöst

Klassen in Java: Bauplan für Objekte verstehen

Kurz gesagt

Eine Klasse ist der Bauplan für ähnliche Objekte. Sie beschreibt Attribute und Methoden. Ein Objekt ist ein bestimmtes Exemplar davon und entsteht zur Laufzeit, in Java mit new und dem Konstruktor. Mit static gekennzeichnete Elemente brauchen kein Objekt.

Ein Programm für eine Bibliothek muss viele Bücher verwalten. Sie sind alle ähnlich aufgebaut, haben aber verschiedene Daten. Statt jedes Buch neu zu beschreiben, schreibst du einmal einen Bauplan. Genau das ist eine Klasse. Hier lernst du, wie Java daraus Objekte macht.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

4 Abschnitte

Eine Klasse ist in der objektorientierten Programmierung ein abstraktes Modell, ein Bauplan für eine Reihe von ähnlichen Objekten. Sie beschreibt die Attribute (Eigenschaften) und die Methoden (Verhaltensweisen) der Objekte. Man kann auch sagen: Eine Klasse entspricht dem Datentyp eines Objekts.

Ein Objekt wird auch Instanz genannt. Es ist ein bestimmtes Exemplar einer Klasse und wird zur Laufzeit des Programms erzeugt, also während das Programm läuft. Dabei wird für das Objekt Speicher reserviert. Aus einer Klasse können mehrere Objekte gleichzeitig existieren. Jedes Objekt hat eine eigene Identität: Sie unterscheidet es von anderen Objekten, auch wenn diese den gleichen Zustand haben.

Definition

Klasse und Objekt

Die Klasse ist der Bauplan für ähnliche Objekte. Ein Objekt (eine Instanz) ist ein bestimmtes Exemplar dieser Klasse und entsteht zur Laufzeit.

Beispiel: Bibliothek: Klasse „Buch“

  1. 1Klasse „Buch“: beschreibt die Eigenschaften Inventarnummer, Ausleihstatus, Beschaffungsdatum und weitere
  2. 2Methode der Klasse: ändert zum Beispiel den Ausleihstatus, wenn ein Kunde ein Buch ausleiht
  3. 3Objekt 1: das Buch mit der Inventarnummer 4711
  4. 4Objekt 2: das Buch mit der Inventarnummer 1234
  5. 5Beide Objekte gehören zur Klasse „Buch“, sind aber zwei verschiedene Exemplare.

Teste dich

LeichtWas ist die Klasse „Buch“ in einer Bibliothek?

Alles auf einen Blick

Klasse

  • Klasse

    Bauplan für ähnliche Objekte mit Attributen und Methoden

  • Objekt

    bestimmtes Exemplar einer Klasse, entsteht zur Laufzeit

  • Konstruktor

    heißt wie die Klasse, gibt keinen Wert zurück, setzt den Anfangszustand

  • static

    gehört zur Klasse, Aufruf über den Klassennamen, kein this

  • Mehrere Objekte

    Instanzvariablen getrennt, Klassenvariable gemeinsam

Musteraufgabe · Schritt für Schritt

Drei Tickets erzeugen (ausgedachtes Beispiel)

  1. 1Ausgedachte Klasse: class Ticket { private static int anzahl = 0; private String platz; Ticket(String p) { anzahl++; platz = p; } }
  2. 2In main: Ticket t1 = new Ticket("A1"); Ticket t2 = new Ticket("A2"); Ticket t3 = new Ticket("B7");
  3. 3Start: anzahl ist 0, es gibt noch kein Objekt.
  4. 4new Ticket("A1"): Der Konstruktor läuft, anzahl wird 1, platz von t1 ist A1.
  5. 5new Ticket("A2"): anzahl wird 2, platz von t2 ist A2.
  6. 6new Ticket("B7"): anzahl wird 3, platz von t3 ist B7.
  7. 7Ergebnis: anzahl gibt es nur einmal und sie hat den Wert 3. platz ist je Objekt verschieden: A1, A2, B7.
  8. 8Probe: Der Konstruktor lief dreimal, also 0 + 1 + 1 + 1 = 3.

Fehler finden

Prüfe die Aussagen zu Klassen, Konstruktoren und static In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Ein Objekt wird zur Laufzeit aus einem Bauplan erzeugt, den man nennt. Ein Konstruktor gibt zurück, auch kein void. Eine Klassenvariable erkennst du am Schlüsselwort .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Klasse

LeichtIn einem Shop-Programm gibt es die Klasse „Auto“. Was ist ein Objekt dieser Klasse?
MittelDie Klasse Beispiel hat zwei Konstruktoren: einen ohne Parameter mit leerem Rumpf und einen mit dem Parameter text, der text mit System.out.println ausgibt. In main stehen new Beispiel() und new Beispiel("Zweiter Konstruktor"). Was wird ausgegeben?
SchwerWarum kann man in einer statischen Methode this nicht benutzen?

Weiterlesen in Informatik