Heim  >  Artikel  >  Java  >  Java-Grundlagen: Verständnis und Anwendung von Polymorphismus

Java-Grundlagen: Verständnis und Anwendung von Polymorphismus

(*-*)浩
(*-*)浩nach vorne
2019-08-13 16:52:252680Durchsuche

Java-Grundlagen: Verständnis und Anwendung von Polymorphismus

Überblick über Polymorphismus

1. Polymorphismus ist nach Kapselung und Vererbung die dritte wichtige objektorientierte Methode .

2. Die Bedeutung der polymorphen Realität verstehen:

Reale Dinge nehmen oft mehrere Formen an, wie zum Beispiel Studenten, und Studenten sind eine Art Mensch Ein bestimmter Klassenkamerad Zhang San ist sowohl ein Schüler als auch ein Mensch, das heißt, er erscheint in zwei Formen.

Als objektorientierte Sprache kann Java auch mehrere Formen einer Sache beschreiben. Wenn die Student-Klasse die Person-Klasse erbt, ist ein Student-Objekt sowohl ein Student als auch eine Person.

3. Polymorphismus spiegelt sich in der Tatsache wider, dass Referenzvariablen der übergeordneten Klasse auf Objekte der Unterklasse verweisen können.

4. Voraussetzung: Es muss eine Kind-Eltern-Beziehung bestehen.

Hinweis: Beim Aufrufen einer Methode mithilfe einer polymorphen Referenzvariablen der übergeordneten Klasse wird die überschriebene Methode der Unterklasse aufgerufen.

5. Definition und Verwendungsformat des Polymorphismus

Definitionsformat: Variablenname des übergeordneten Klassentyps = neuer Unterklassentyp ();
Eigenschaften von Mitgliedern im Polymorphismus

1. Polymorphe Mitgliedsvariablen: Schauen Sie beim Kompilieren und Ausführen auf die linke Seite

Fu f=new Zi();

System.out.println(f.num);//f ist der Wert in Fu und kann nur den Wert im übergeordneten Element abrufen

2. Schauen Sie beim Kompilieren nach links Schauen Sie beim Ausführen nach rechts

Fu f1=new Zi();

System.out.println(f1.show());//Der Fassadentyp von f1 ist Fu, aber der tatsächliche Typ ist Zi, daher wird die überschriebene Methode aufgerufen.


instanceof keyword

Funktion: Wird verwendet, um zu bestimmen, ob ein Objekt zu einem bestimmten Datentyp gehört.

Hinweis: Der Rückgabetyp ist Boolean

Anwendungsfall:

Fu f1=new Zi();
Fu f2=new Son();
if(f1 instanceof Zi){
    System.out.println("f1是Zi的类型");
}
else{
    System.out.println("f1是Son的类型");
}

Polymorphe Transformation

Polymorphe Transformation Es gibt zwei Arten von Aufwärtstransformation und Abwärtstransformation

Aufwärtstransformation: Polymorphismus selbst ist ein Prozess der Aufwärtstransformation

Verwendung des Formats: Variablenname des übergeordneten Klassentyps = neuer Unterklassentyp (); Szenario: Wenn kein Bedarf an Unterklassentypen besteht, können die entsprechenden Vorgänge durch Verbesserung der Skalierbarkeit oder Verwendung der Funktionen der übergeordneten Klasse abgeschlossen werden.

Abwärtskonvertierung: Ein nach oben konvertiertes Unterklassenobjekt kann das Format der erzwungenen Typkonvertierung verwenden, um den Referenztyp der übergeordneten Klasse in den Referenztyp der Unterklasse zu konvertieren

Verwenden Sie das Format: Variablenname des Unterklassentyps = (Unterklassentyp) Variable des übergeordneten Klassentyps;

Anwendbares Szenario: Wenn Sie die eindeutigen Funktionen der Unterklasse verwenden möchten.

Polymorpher Fall:

Beispiel 1:

package day0524;
 
public class demo04 {
    public static void main(String[] args) {
        People p=new Stu();
        p.eat();
        //调用特有的方法
        Stu s=(Stu)p;
        s.study();
        //((Stu) p).study();
    }
}
class People{
    public void eat(){
        System.out.println("吃饭");
    }
}
class Stu extends People{
    @Override
    public void eat(){
        System.out.println("吃水煮肉片");
    }
    public void study(){
        System.out.println("好好学习");
    }
}
class Teachers extends People{
    @Override
    public void eat(){
        System.out.println("吃樱桃");
    }
    public void teach(){
        System.out.println("认真授课");
    }
}
Beispiel 2:Was ist das Ergebnis der Ausführung des Projekts?

package day0524;
public class demo1 {
    public static void main(String[] args) {
        A a=new A();
        a.show();
        B b=new B();
        b.show();
    }
}
class A{
    public void show(){
        show2();
    }
    public void show2(){
        System.out.println("A");
    }
}
class B extends A{
    public void show2(){
        System.out.println("B");
    }
}
class C extends B{
    public void show(){
        super.show();
    }
    public void show2(){
        System.out.println("C");
    }
}

Das obige ist der detaillierte Inhalt vonJava-Grundlagen: Verständnis und Anwendung von Polymorphismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen