Vererbung: Unterschied zwischen den Versionen

Aus FI-Wiki
Die Seite wurde neu angelegt: „== Vererbung == Die '''Vererbung''' ist ein grundlegendes Prinzip der objektorientierten Programmierung. Sie ermöglicht es, dass eine Klasse (Unterklasse) die Eigenschaften und Methoden einer anderen Klasse (Basisklasse) übernimmt. Dadurch können gemeinsame Funktionen einmal definiert und von mehreren Klassen genutzt oder erweitert werden. === Grundidee === Eine Basisklasse stellt allgemeine Attribute und Methoden bereit. Eine Unterklasse erbt…“
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== Vererbung ==
Die '''Vererbung''' ist ein grundlegendes Prinzip der objektorientierten Programmierung.   
Die '''Vererbung''' ist ein grundlegendes Prinzip der objektorientierten Programmierung.   
Sie ermöglicht es, dass eine Klasse (Unterklasse) die Eigenschaften und Methoden einer anderen Klasse (Basisklasse) übernimmt.   
Sie ermöglicht es, dass eine Klasse (Unterklasse) die Eigenschaften und Methoden einer anderen Klasse (Basisklasse) übernimmt.   
Dadurch können gemeinsame Funktionen einmal definiert und von mehreren Klassen genutzt oder erweitert werden.
Dadurch können gemeinsame Funktionen einmal definiert und von mehreren Klassen genutzt oder erweitert werden.


=== Grundidee ===
== Grundidee ==
Eine Basisklasse stellt allgemeine Attribute und Methoden bereit.   
Eine Basisklasse stellt allgemeine Attribute und Methoden bereit.   
Eine Unterklasse erbt diese und kann zusätzlich eigene Funktionen hinzufügen oder geerbtes Verhalten überschreiben.
Eine Unterklasse erbt diese und kann zusätzlich eigene Funktionen hinzufügen oder geerbtes Verhalten überschreiben.
Zeile 14: Zeile 12:
* Unterklasse: '''Motorrad'''   
* Unterklasse: '''Motorrad'''   


=== Beispiel im Code ===
== Beispiel im Code ==
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
class Fahrzeug {
class Fahrzeug {
Zeile 28: Zeile 26:
Die Klasse '''Auto''' erbt geschwindigkeit und fahren() von Fahrzeug.
Die Klasse '''Auto''' erbt geschwindigkeit und fahren() von Fahrzeug.


=== Das Schlüsselwort extends ===
== Das Schlüsselwort extends ==
Vererbung wird in Java mit dem Schlüsselwort '''extends''' definiert:
Vererbung wird in Java mit dem Schlüsselwort '''extends''' definiert:


Zeile 35: Zeile 33:
</syntaxhighlight>
</syntaxhighlight>


=== protected in der Vererbung ===
== protected in der Vererbung ==
Das Zugriffsmodifikator '''protected''' spielt eine wichtige Rolle bei der Vererbung:
Das Zugriffsmodifikator '''protected''' spielt eine wichtige Rolle bei der Vererbung:


Zeile 57: Zeile 55:
</syntaxhighlight>
</syntaxhighlight>


=== Vorteile der Vererbung ===
== Vorteile der Vererbung ==
* vermeidet doppelten Code   
* vermeidet doppelten Code   
* schafft übersichtliche Klassenhierarchien   
* schafft übersichtliche Klassenhierarchien   
Zeile 63: Zeile 61:
* erleichtert Wartbarkeit und Erweiterbarkeit
* erleichtert Wartbarkeit und Erweiterbarkeit


=== Kurzmerksatz ===
== Kurzmerksatz ==
'''Vererbung ermöglicht Code-Wiederverwendung und Spezialisierung.   
'''Vererbung ermöglicht Code-Wiederverwendung und Spezialisierung.   
protected erlaubt Unterklassen den Zugriff auf geerbte Elemente, ohne sie öffentlich zu machen.'''
protected erlaubt Unterklassen den Zugriff auf geerbte Elemente, ohne sie öffentlich zu machen.'''

Version vom 12. Januar 2026, 14:45 Uhr

Die Vererbung ist ein grundlegendes Prinzip der objektorientierten Programmierung. Sie ermöglicht es, dass eine Klasse (Unterklasse) die Eigenschaften und Methoden einer anderen Klasse (Basisklasse) übernimmt. Dadurch können gemeinsame Funktionen einmal definiert und von mehreren Klassen genutzt oder erweitert werden.

Grundidee

Eine Basisklasse stellt allgemeine Attribute und Methoden bereit. Eine Unterklasse erbt diese und kann zusätzlich eigene Funktionen hinzufügen oder geerbtes Verhalten überschreiben.

Beispielidee:

  • Basisklasse: Fahrzeug
  • Unterklasse: Auto
  • Unterklasse: Motorrad

Beispiel im Code

class Fahrzeug {
    int geschwindigkeit;
    void fahren() { System.out.println("Fahrzeug fährt"); }
}

class Auto extends Fahrzeug {
    void hupen() { System.out.println("Hupe!"); }
}

Die Klasse Auto erbt geschwindigkeit und fahren() von Fahrzeug.

Das Schlüsselwort extends

Vererbung wird in Java mit dem Schlüsselwort extends definiert:

class Unterklasse extends Basisklasse { }

protected in der Vererbung

Das Zugriffsmodifikator protected spielt eine wichtige Rolle bei der Vererbung:

  • protected erlaubt Zugriff **innerhalb der Klasse**,
  • **innerhalb desselben Pakets**,
  • und – am wichtigsten – durch **Unterklassen**, auch wenn sie in einem anderen Paket liegen.

Dadurch können geerbte Eigenschaften geschützt, aber trotzdem vererbbar und nutzbar bleiben.

Beispiel:

class Fahrzeug {
    protected int geschwindigkeit;  // Unterklassen dürfen zugreifen
}

class Auto extends Fahrzeug {
    void beschleunigen() {
        geschwindigkeit += 10;      // erlaubt, weil protected
    }
}

Vorteile der Vererbung

  • vermeidet doppelten Code
  • schafft übersichtliche Klassenhierarchien
  • Unterklassen können Verhalten anpassen (Methoden überschreiben)
  • erleichtert Wartbarkeit und Erweiterbarkeit

Kurzmerksatz

Vererbung ermöglicht Code-Wiederverwendung und Spezialisierung. protected erlaubt Unterklassen den Zugriff auf geerbte Elemente, ohne sie öffentlich zu machen.