Der Unterschied zwischen Überladung, Vererbung, Überschreibung und Polymorphismus:
1) Bei der Vererbung erhält eine Unterklasse Mitglieder der übergeordneten Klasse.
2) Überschreiben ist eine Methode zum erneuten Implementieren der übergeordneten Klasse nach der Vererbung.
3) Überladen ist eine Reihe von Methoden mit unterschiedlichen Parametern und demselben Namen in einer Klasse.
4) Polymorphismus dient dazu, eine große Anzahl von Überladungen in der übergeordneten Klasse zu vermeiden, was dazu führt, dass der Code aufgebläht und schwer zu warten ist.
Eine interessante Aussage, die ich im Internet gesehen habe, lautet: Vererbung ist eine Methode für eine Unterklasse, eine übergeordnete Klasse zu verwenden, während Polymorphismus eine Methode für eine übergeordnete Klasse ist, eine Unterklasse zu verwenden.
Die folgenden Beispiele umfassen diese vier Implementierungen:
Klasse Dreieck erweitert Form {
public int getSides() {
Rückkehr 3;
}
}
Klasse Rechteck erweitert Form {
public int getSides(int i) {
gib i zurück;
}
}
öffentliche Klasse Shape {
öffentlicher boolescher Wert isSharp(){
return true;
}
public int getSides(){
0 zurückgeben;
}
public int getSides(Triangle tri){
Rückkehr 3;
}
public int getSides(Rectangle rec){
Rückkehr 4;
}
public static void main(String[] args) {
Dreieck tri = neues Dreieck();
System.out.println(“Dreieck ist eine Art Spitz? ” + tri.isSharp());
Shape shape = new Triangle();
System.out.println(“Meine Form hat ” + shape.getSides() + ” Seiten.“);
}
}
Rot ist Überladung, Grün ist Überschreiben, Blau ist Vererbung, Rosa ist Polymorphismus
Beachten Sie, dass die Methoden der Triangle-Klasse überschrieben werden, während die Methoden der Rechteck-Klasse überladen sind.
Wenn Sie die roten und rosafarbenen Teile vergleichen, können Sie die Vorteile des Polymorphismus gegenüber der Überladung erkennen: Wenn Sie die Überladung verwenden, muss in der übergeordneten Klasse für jede Unterklasse eine Methode zum Ermitteln der Kantenanzahl überladen werden Bietet lediglich eine Schnittstelle zum Ermitteln der Anzahl der Seiten und der Art und Weise, wie diese ermittelt wird. Diese werden jeweils in den Unterklassen implementiert (umgeschrieben).