StartseiteProgrammierungJava

Klassenvererbung

07. JULI 2011
von Jörg
Programmierung - Java

In Java gibt es lediglich nur die Einfachvererbung, was bedeutet das man nur von einer Klasse in einer anderen vererben kann. mit dem Schlüsselword extends wird die Vererbung im Klassenkopf bekannt gemacht. Hierdurch vererbt die abgeleitete Klasse alle Variablen und Methoden der Basisklasse.

01
02
03
04
class Subklasse extends Superklasse
{
   // hier kommen die neuen Merkmale der Subklasse 
}

Man kann beliebig viele Klassen ableiten, einzige Einschränkung ist, wenn man eine Konstante (final) deklariert, ist es nicht möglich aus dieser Klasse abzuleiten.

Methodenüberlagerung
Oft ist es nötig eine Methode aus der Elternklasse quasi zu überschreiben, hierzu muss man lediglich die Methode in der abgeleiteten Klasse neu implementiern (Override).

super Zeiger
Mit dem Super- Zeiger kann man in der vererbten Klasse auf die Variablen und Methoden der Superklasse (Elternklasse) zugreifen.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
class Haustier
{   String name;
    double futtervorrat, gewicht;
    int    anzahlTage;
    
    Haustier(String name, double futtervorrat, double gewicht)
    {  this.name         = name;
       this.futtervorrat = futtervorrat;
       this.gewicht      = gewicht;
       anzahlTage        = 0;
    }
}

class Hund extends Haustier
{  String kategorie;

   Hund(String name, double vorrat, double gewicht, String kategorie)
   {  super(name, vorrat, gewicht);  
      this.kategorie     = kategorie;
   }

Konstruktoren bei Vererbung
Den Konstruktor einer Elternklasse wird immer als erste Anweisung im Konstruktor, auch wenn er nicht explizit genannt wird, mit super(); aufgerufen.

Sichtbarkeiten in Klassen

  • private - Variablen bzw. Methoden sind nur in der Klasse selbst sichtbar in der sie deklariert sind, bzw. kann nur von dort aus zugegriffen werden.
  • protected - Variablen bzw. Methoden sind in allen Klassen sichtbar, die sich im selben Package befinden wie die Klasse, in der sie definiert sind.
  • public - Variablen bzw. Methoden sind überall sichtbar

Kommentare:

Vielen Dank, Jörg.
Ich hab noch nie eine Erklärung gelesen, die ich deratig verständlich fand. : )

am 11. JANUAR 2014 um 16:57 Uhr

Hinterlasse einen Kommentar

Ein Frosch der sich an der Seite festhält