Ü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 abrufen2. Schauen Sie beim Kompilieren nach links Schauen Sie beim Ausführen nach rechtsFu f1=new Zi();
instanceof keyword
Funktion: Wird verwendet, um zu bestimmen, ob ein Objekt zu einem bestimmten Datentyp gehört.
Hinweis: Der Rückgabetyp ist BooleanAnwendungsfall: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("认真授课"); } }
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!