Ich habe eine Frage, wie man einen Methodenaufruf an zwei verschiedenen Klassen von Objekten in Java arbeiten lassen kann. Zum Beispiel, wenn beide Klassen SListNode und DListNode dieselbe Methode size() verwenden möchten, um die Länge einer Liste zu messen. Ich möchte die Methode size nur einmal definieren, anstatt zweimal in den Klassen SListNode und DListNode explizit zu schreiben.Wie polymorphism in Java anwenden?
Ich denke, Vererbung ist notwendig. Definieren Sie beispielsweise eine Oberklasse Size, die die size() -Methode enthält. Sowohl SListNode als auch DListNode sind Unterklassen von Size. Bei der Definition der Methode size() ist auf diese Weise jedoch ein bestimmter Listentyp erforderlich. Daher kann das Verfahren nicht auf SListNode und DListNode angewendet werden.
Ich fragte mich, wie die Vererbungsstruktur aussehen sollte oder ob es eine Standardmethode gibt, um diese Art von Frage zu lösen? Ich denke, es gibt und deshalb hat Java Polymorphismus. Aber es ist schwer für mich herauszufinden ...
Schauen Sie sich auf: [Java Polymorphism ] (https://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html) –
'Java.polymorphism (apply);' – Gendarme
Mögliches Duplikat von [Polymorphismus gegen Überladung gegen Überladung] (http://stackoverflow.com/questions/154577/polymorphism-vs-overriding-vs-overloading) – wiredniko