Heim  >  Artikel  >  Java  >  Wie man Polymorphismus in Java versteht

Wie man Polymorphismus in Java versteht

(*-*)浩
(*-*)浩Original
2019-05-21 19:53:4255916Durchsuche

Wie man Polymorphismus in Java versteht

Polymorphismus : Polymorphismus ermöglicht es Objekten verschiedener Subtypen, unterschiedlich auf dieselbe Nachricht zu reagieren. Einfach ausgedrückt: Dieselbe Methode wird mit derselben Objektreferenz aufgerufen, es werden jedoch unterschiedliche Dinge ausgeführt. Der Polymorphismus wird in Polymorphismus zur Kompilierungszeit und Polymorphismus zur Laufzeit unterteilt.

Wenn die Methoden eines Objekts als Dienste betrachtet werden, die das Objekt der Außenwelt bereitstellt, kann der Laufzeitpolymorphismus wie folgt erklärt werden: Wenn System A auf die von System B bereitgestellten Dienste zugreift, verfügt System B über mehrere Methoden Methode, aber alles ist für System A transparent (genau wie ein Elektrorasierer System A ist und sein Stromversorgungssystem System B ist. System B kann mit Batterien, Wechselstrom oder sogar Solarenergie betrieben werden. A Das System ruft die Stromversorgungsmethode nur über Objekte der Klasse B auf, weiß jedoch nicht, was die zugrunde liegende Implementierung des Stromversorgungssystems ist und wie es Strom erhält.

Methodenüberladung (Overload) implementiert Polymorphismus zur Kompilierungszeit (auch als Front-Binding bezeichnet), während Methodenüberschreibung (Override) Laufzeit-Polymorphismus (auch als Post-Binding bezeichnet) implementiert.

Laufzeitpolymorphismus ist die Essenz der objektorientierten Programmierung. Um Polymorphismus zu erreichen, müssen zwei Dinge getan werden:

  • Methodenumschreibung (Die Unterklasse erbt die übergeordnete Klasse und überschreibt vorhandene oder abstrakte Methoden in der übergeordneten Klasse);

  • Objektmodellierung (verwenden Sie die übergeordnete Typreferenz, um auf das Untertypobjekt zu verweisen, sodass dieselbe Referenz aufgerufen wird Dieselbe Methode zeigt je nach Unterklassenobjekt unterschiedliche Verhaltensweisen.

java中的引用变量有两个类型:一个编译时类型,一个是运行时类型。编译时类型由声明该变量使用的类型决定,运行时类型由实际赋给
该变量的对象决定。如果编译时类型与运行时类型不一致,就可能出现所谓的多态。——疯狂java讲义

Beispiele für die Verwendung von Laufzeitpolymorphismus sind wie folgt:

public class PolyTest5
{
    public void run(Car car)//这样利用公共的父类就屏蔽了子类之间的差异性,可以应对所有的车.
    {
        car.run();//只要子类继承了car都可以作为参数传入方法中.如果没有多态,就要有对应每个类的方法.非常的麻烦.
    }

    public static void main(String[] args)
    {

        PolyTest5 test = new PolyTest5();

        Car car = new BMW();

        test.run(car);

        QQ qq = new QQ();

        test.run(qq);//向上类型转换.


    }
}

class Car
{
    public void run()
    {
        System.out.println("car is running");
    }
}

class BMW extends Car
{
    public void run()
    {
        System.out.println("BMW is running");
    }
}

class QQ extends Car
{
    public void run()
    {
        System.out.println("QQ is running");
    }
}

Drei Elemente des Polymorphismus: 1 2. Umschreiben 3. Die Referenz der übergeordneten Klasse verweist auf das Objekt der untergeordneten Klasse.

Verwandte Lernempfehlungen: Java Basic Tutorial

Das obige ist der detaillierte Inhalt vonWie man Polymorphismus in Java versteht. 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