Apps für Android programmieren leicht gemacht!
2.8 Vererbung

2.8 Vererbung

Wir wollen uns heute, nach etwas längerer Pause, mit der Vererbung von Klassen beschäftigen und dessen Vorteile aufzeigen.
Die Vererbung ist nämlich eine super tolle Idee, um einen Code wieder zu verwerten und sich somit einiges an Programmierarbeit ersparen zu können.

 

Unter die Vorteile der Vererbung fallen 2 wichtige Dinge. Als erstes muss man den zu schreibenden Programmcode nur einmal schreiben und kann ihn in so vielen Klassen wiederverwerten, wie man möchte, zum anderen kann man durch das Editieren einer Datei einen Fehler in gleich mehreren Klassen beheben. Wir stellen uns vor, wir vererben eine Klasse an 5 weitere Klassen und in diesen 5 weiteren Klassen benutzen wir eine Funktion der vererbten Klasse. Nun haben mir in dieser vererbten Funktion einen Fehler gemacht und können ihn durch das Editieren einer einzigen Datei beheben.

 

Doch wie funktioniert die Vererbung nun genau und was ist das eigentlich ?
Naja grob gesagt können wir eine Klasse A, um eine Klasse B erweitern. Durch diese Erweiterung/Vererbung besitzt nun auch Klasse A alle Funktionen und Variablen der Klasse B.
Super einfach oder ?

 

Wichtig ist dabei zu beachten, dass eine Klasse immer nur von einer Klasse erben kann, aber an mehrere Klassen vererbt werden kann.
Klasse A kann also von Klasse B erben und Klasse C kann ebenfalls von Klasse B erben, aber Klasse A kann nicht gleichzeitig von Klasse B und Klasse C erben.
Hierfür gibt es einen kleinen Trick: Wir vererben erst Klasse C an Klasse B und anschließend vererben wir Klasse B an Klasse A, somit besitzt die Klasse A alle Funktionen von Klasse B und C.

 

Ok, zugegeben, dass ist momentan noch alles sehr verwirrend. In einem kleinen Beispiel wird die Vererbung vielleicht etwas verständlicher.

//Die Klasse B soll später vererbt werden.
class B{
   public int addieren(int a, int b){
      return a + b;
   }
}

//Die Klasse A soll nun von B erben, dazu verwenden wir "extends"
class A extends B{
   public void rechnen(){
      //Die Funktion "addieren" kann nun verwendet werden, weil sie von der Klasse B, an die Klasse A vererbt/weitergegeben wurde
      int ergebnis = addieren(2, 3);
   }
}

Wir könnten nun genau so, wie wir die Klasse A, um B erweitert haben zusätzlich noch eine Klasse C an B vererbten. Bei dieser Mehrfachen Vererbung könnte dann A alle Funktionen von B und C nutzen.

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld