Heim >Java >javaLernprogramm >Das Labyrinth der Java-Vererbung: Navigieren in Superklassen, Unterklassen und Polymorphismus
Bei der Java-Vererbung ist die Superklasse (Elternklasse) die universelle Klasse, die das Verhalten und die Eigenschaften des Objekts definiert, während die Unterklasse (abgeleitete Klasse) von der Superklasse erbt und deren Funktionalität erweitert. Unterklassen können nichtprivate Mitglieder der Oberklasse verwenden und Methoden der Oberklasse überschreiben.
Polymorphismus:
Polymorphismus ermöglicht, dass das Verhalten eines Objekts abhängig von seinem tatsächlichen Typ variiert. In Java kann ein Unterklassenobjekt einem Oberklassenobjekt zugewiesen werden. Wenn eine Oberklassenmethode aufgerufen wird, hängt die tatsächlich ausgeführte Methode vom tatsächlichen Typ des Objekts ab.
Vorteile des Polymorphismus:
Polymorphe Herausforderungen:
Best Practices:
Häufige Missverständnisse:
Beispiel:
Betrachten Sie das folgende Beispiel:
class Shape { protected String name; public void draw() { System.out.println("Drawing a shape"); } } class Rectangle extends Shape { public void draw() { super.draw(); System.out.println("Drawing a rectangle"); } } class Circle extends Shape { public void draw() { super.draw(); System.out.println("Drawing a circle"); } } public class Main { public static void main(String[] args) { Shape s1 = new Rectangle(); Shape s2 = new Circle(); s1.draw(); // Prints "Drawing a rectangle" s2.draw(); // Prints "Drawing a circle" } }
In diesem Beispiel ist Shape die Oberklasse, die allgemeines Verhalten und Eigenschaften definiert. Rectangle und Circle sind von Shape geerbte Unterklassen, die das Verhalten von Shape erweitern. Die main-Methode erstellt zwei Shape-Objekte, eines dem Rectangle und das andere dem Circle. Wenn die Methode draw() aufgerufen wird, hängt die tatsächlich ausgeführte Methode vom tatsächlichen Typ des Objekts ab, was Polymorphismus demonstriert.
Das obige ist der detaillierte Inhalt vonDas Labyrinth der Java-Vererbung: Navigieren in Superklassen, Unterklassen und Polymorphismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!