English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Polymorphie in Java implementieren
Was ist Polymorphie?
Hier sind die drei notwendigen Bedingungen für die Existenz der Polymorphie, die jeder sich während des Schlafens merken sollte!
Drei notwendige Bedingungen für die Existenz der Polymorphie
Eins: Es muss vererbt werden;
Zwei: Es muss überschrieben werden;
Drei Bedingungen für die Existenz der Elternklasse-Referenz auf die Subjektobjekte.
Vorteile der Polymorphie:
1. Ersetzbarkeit (Ersetzbarkeit). Polymorphie ist für bestehenden Code ersetzbar. Zum Beispiel funktioniert Polymorphie mit der Kugelklasse Circle, aber auch mit anderen beliebigen zirkulären Geometrien, wie dem Ring.
2. Erweiterbarkeit (Erweiterbarkeit). Polymorphie ist für den Code erweiterbar. Der Hinzufügung neuer Unterklassen beeinflusst nicht die Polymorphie, Vererbung und andere Eigenschaften der bestehenden Klassen sowie deren Betrieb und Operation. Tatsächlich ist es einfacher, neue Unterklassen mit Polymorphiefunktionen zu erhalten. Zum Beispiel ist es einfach, die Polymorphie der Kugelklasse hinzuzufügen, wenn bereits die Polymorphie von Kegel, Halbkegel und Halbsphäre implementiert ist.
3. Schnittstelle-. Fähigkeit). Polymorphie wird durch den Superklasse über die Methodensignatur bereitgestellt, eine gemeinsame Schnittstelle für die Unterklassen, die sie vervollständigen oder überschreiben können. Wie im Diagramm gezeigt8.3 Gezeigt. Der Superklasse Shape wurden zwei Methoden zur Implementierung der Polymorphie vorgeschrieben, computeArea() und computeVolume(). Die Unterklassen, wie Circle und Sphere, vervollständigen oder überschreiben diese Schnittstellenmethoden, um Polymorphie zu erreichen.
4. Flexibilität (Flexibilität). Es zeigt in der Anwendung eine flexible und vielfältige Operation, die Effizienz der Verwendung erhöht.
5. Einfachheit (Einfachheit). Polymorphie vereinfacht den Prozess der Code-Schreibung und -Änderung für Anwendungssoftware, insbesondere bei der Verarbeitung großer Mengen von Objekten, ist diese Eigenschaft besonders ausgeprägt und wichtig.
Möglichkeiten der Polymorphie in Java: Implementierung über Schnittstellen, Übergang von übergeordneten Klassen durch Methodenüberschreibung, Methodenüberladung in derselben Klasse.
Ein kleines Thema:
(I) Verwandte Klassen
class A ...{ public String show(D obj)...{ return ("A and D"); } public String show(A obj)...{ return ("A and A"); } } class B extends A...{ public String show(B obj)...{ return ("B and B"); } public String show(A obj)...{ return ("B and A"); } } class C extends B...{} class D extends B...{}
(二)问题:以下输出结果是什么?
A a1 = new A(); A a2 = new B(); B b = new B(); C c = new C(); D d = new D(); System.out.println(a1.show(b)); ① System.out.println(a1.show(c)); ② System.out.println(a1.show(d)); ③ System.out.println(a2.show(b)); ④ System.out.println(a2.show(c)); ⑤ System.out.println(a2.show(d)); ⑥ System.out.println(b.show(b)); ⑦ System.out.println(b.show(c)); ⑧ System.out.println(b.show(d)); ⑨
(三)答案
① A und A ② A und A ③ A und D ④ B und A ⑤ B und A ⑥ A und D ⑦ B und B ⑧ B und B ⑨ A und D
Vielen Dank für das Lesen, ich hoffe, es hilft Ihnen weiter, vielen Dank für Ihre Unterstützung dieser Seite!