Heim  >  Artikel  >  Java  >  Was ist Java-Polymorphismus?

Was ist Java-Polymorphismus?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-11-14 16:20:306322Durchsuche

Was ist Java-Polymorphismus?

Polymorphismus ist die Fähigkeit desselben Verhaltens, mehrere unterschiedliche Erscheinungsformen oder Formen anzunehmen. Polymorphismus ist dieselbe Schnittstelle, die verschiedene Instanzen verwendet, um unterschiedliche Operationen auszuführen, wie in der Abbildung gezeigt:

Was ist Java-Polymorphismus?

Polymorphismus ist die Verkörperung mehrerer Ausdrücke von Objekten.

现实中,比如我们按下 F1 键这个动作:
·如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;
·如果当前在 Word 下弹出的就是 Word 帮助;
·在 Windows 下弹出的就是 Windows 帮助和支持。
同一个事件发生在不同的对象上会产生不同的结果。

Vorteile des Polymorphismus

·1. Eliminieren Sie Kopplungsbeziehungen zwischen Typen

·2. Ersatz

·3. Skalierbarkeit

·4. Schnittstelle

·5. Flexibilität

·6 . Vereinfachung

Drei notwendige Bedingungen für die Existenz von Polymorphismus

·Erben

·Überschreiben

·Verweise der übergeordneten Klasse verweisen auf das untergeordnete Klassenobjekt

Zum Beispiel:

Parent p = new Child();

Wenn Sie eine Methode mit Polymorphismus aufrufen, prüfen Sie zunächst, ob die Methode in der übergeordneten Klasse vorhanden ist. Wenn dies der Fall ist, rufen Sie die Unterklasse mit demselben Namen auf.

Vorteile des Polymorphismus: Er ermöglicht eine gute Erweiterung des Programms und kann universell mit Objekten aller Klassen umgehen.

Das Folgende ist eine Demonstration einer polymorphen Instanz. Eine detaillierte Beschreibung finden Sie in den Kommentaren:

Test.java-Dateicode:

public class Test {
    public static void main(String[] args) {
      show(new Cat());  // 以 Cat 对象调用 show 方法
      show(new Dog());  // 以 Dog 对象调用 show 方法
                
      Animal a = new Cat();  // 向上转型  
      a.eat();               // 调用的是 Cat 的 eat
      Cat c = (Cat)a;        // 向下转型  
      c.work();        // 调用的是 Cat 的 work
  }  
            
    public static void show(Animal a)  {
      a.eat();  
        // 类型判断
        if (a instanceof Cat)  {  // 猫做的事情 
            Cat c = (Cat)a;  
            c.work();  
        } else if (a instanceof Dog) { // 狗做的事情 
            Dog c = (Dog)a;  
            c.work();  
        }  
    }  
}
 
abstract class Animal {  
    abstract void eat();  
}  
  
class Cat extends Animal {  
    public void eat() {  
        System.out.println("吃鱼");  
    }  
    public void work() {  
        System.out.println("抓老鼠");  
    }  
}  
  
class Dog extends Animal {  
    public void eat() {  
        System.out.println("吃骨头");  
    }  
    public void work() {  
        System.out.println("看家");  
    }  
}

Führen Sie das obige Programm aus, die Ausgabe Das Ergebnis ist:

吃鱼
抓老鼠
吃骨头
看家
吃鱼
抓老鼠

php Chinesische Website, eine große Anzahl kostenloser Java-Einführungs-Tutorials, willkommen zum Online-Lernen!

Das obige ist der detaillierte Inhalt vonWas ist Java-Polymorphismus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn