Polymorphismus: Den Unterschied zwischen Überschreiben und Überladen enthüllen
Wenn es um Polymorphismus in Java geht, ist es wichtig, den Unterschied zwischen Überschreiben und Überladen zu klären Überlastung. Überladung bezieht sich auf das Vorhandensein mehrerer Methoden mit demselben Namen, aber unterschiedlichen Parameterlisten innerhalb derselben Klasse. Beim Überschreiben hingegen geht es darum, eine Methode in einer Unterklasse zu definieren, die dieselbe Signatur (Name und Parameter) wie eine Methode in ihrer Oberklasse hat.
Bei der Betrachtung von Polymorphismus liegt die genaueste Antwort im Konzept von abstrakte Klassen oder Schnittstellen. Eine abstrakte Basisklasse definiert eine Methode ohne Implementierung, die dann in ihren Unterklassen implementiert wird. Dieser Ansatz veranschaulicht Polymorphismus.
Betrachten Sie zur Veranschaulichung eine abstrakte Basisklasse Human mit einer abstrakten Methode goPee(), die nicht auf Human-Ebene definiert werden kann, sondern in den Unterklassen Male und Female implementiert werden muss, um geschlechtsspezifische Aspekte zu berücksichtigen. spezifisches Verhalten.
public abstract class Human { public abstract void goPee(); }
public class Male extends Human { @Override public void goPee() { System.out.println("Stand Up"); } }
public class Female extends Human { @Override public void goPee() { System.out.println("Sit Down"); } }
In diesem Beispiel wird die Methode goPee() in den Unterklassen überschrieben, um spezifisches Verhalten bereitzustellen Implementierungen. Polymorphismus kommt ins Spiel, wenn wir einer Gruppe von Menschen sagen können, sie sollen pinkeln, und sie werden die Aktion gemäß ihren jeweiligen Implementierungen ausführen.
public static void main(String[] args) { ArrayList<Human> group = new ArrayList<>(); group.add(new Male()); group.add(new Female()); // Tell Humans to go pee for (Human person : group) person.goPee(); }
Ausgabe:
Stand Up Sit Down
Daraus Durch die Demonstration wird deutlich, dass Polymorphismus die Fähigkeit verschiedener Objekte innerhalb einer Vererbungshierarchie ist, unterschiedliche Verhaltensweisen zu zeigen, während sie auf dieselbe Nachricht reagieren. Überschreiben ist der Mechanismus, der dieses Verhalten ermöglicht, während Überladen ein separates Konzept ist, das sich auf Methodensignaturen innerhalb derselben Klasse bezieht.
Das obige ist der detaillierte Inhalt vonPolymorphismus in Java: Wie unterscheidet er sich vom Überschreiben und Überladen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!