Heim  >  Artikel  >  Java  >  Wie man den Java-Polymorphismus versteht

Wie man den Java-Polymorphismus versteht

青灯夜游
青灯夜游Original
2021-04-13 17:55:396505Durchsuche

In Java ist Polymorphismus die Fähigkeit desselben Verhaltens, mehrere unterschiedliche Erscheinungsformen oder Formen anzunehmen; Polymorphismus ist dieselbe Schnittstelle, die unterschiedliche Instanzen verwendet, um unterschiedliche Operationen auszuführen. Die Vorteile von Polymorphismus: 1. Eliminierung von Kopplungsbeziehungen zwischen Typen; 3. Erweiterbarkeit; 6. Vereinfachung;

Wie man den Java-Polymorphismus versteht

Die Betriebsumgebung dieses Tutorials: Windows7-System, Java8-Version, DELL G3-Computer.

Überblick über Polymorphismus

1 Polymorphismus ist nach Kapselung und Vererbung das dritte Hauptmerkmal der Objektorientierung. 2. Polymorphismus: Realistische Bedeutung Menschen

erscheinen

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
  • Variablen der übergeordneten Klasse auf Unterklassenobjekte 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 von Polymorphismus dass ein Verhalten mehrere unterschiedliche Erscheinungsformen oder Formen hat.

  • Polymorphismus ist dieselbe Schnittstelle, die unterschiedliche Instanzen verwendet, um unterschiedliche Vorgänge auszuführen.
  • 7. Vorteile von Polymorphismus:

    Flexibilität

Vereinfachung

8 Drei notwendige Bedingungen für die Existenz von Polymorphismus

    Vererbung

    Umschreiben

    父类类型 变量名=new 子类类型();

    6、理解:

    多态是同一个行为具有多个不同表现形式或形态的能力。

    多态就是同一个接口,使用不同的实例而执行不同操作。

    7、多态的优点

    • 消除类型之间的耦合关系

    • 可替换性

    • 可扩充性

    • 接口性

    • 灵活性

    • 简化性

    8、多态存在的三个必要条件

    • 继承

    • 重写

    • 父类引用指向子类对象:Parent p = new Child();

      Das übergeordnete Element Klassenreferenzpunkte auf das Unterklassenobjekt: Parent p = new Child();

    Eigenschaften von Mitgliedern im Polymorphismus

    1 Variablen für polymorphe Mitglieder: Achten Sie beim Kompilieren und Ausführen auf die linke Seite

    Fu f=new Zi();
    System.out.println(f.num);//f是Fu中的值,只能取到父中的值

    2. Polymorphe Mitgliedsmethoden: Schauen Sie beim Kompilieren und Ausführen auf die linke Seite und beim Ausführen auf die rechte Seite

    Fu f1=new Zi();
    System.out.println(f1.show());//f1的门面类型是Fu,但实际类型是Zi,所以调用的是重写后的方法。
    instanceof keyword

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

    Hinweis: Der Rückgabetyp ist boolesch

    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

    • Die polymorphe Transformation ist in zwei Typen unterteilt: Aufwärtstransformation und Abwärtstransformation
    • Aufwärtstransformation: Polymorphismus selbst ist eine Aufwärtstransformation Der Übergangsprozess格 Verwenden Sie das Format: der Typ der übergeordneten Typvariable name = neuer untergeordneter Typ (); Kann die entsprechenden Vorgänge abschließen.个 Transformation nach unten: Ein nach oben transformiertes Unterklassenobjekt kann das Format einer obligatorischen Typkonvertierung verwenden, um den Typ der übergeordneten Klasse in verschiedene Typen umzuwandeln. (Typ) Variablen des übergeordneten Klassentyps

    Anwendbare Szenarien: Wenn Sie die einzigartigen Funktionen der Unterklasse nutzen möchten.

    Polymorpher Fall:
    • Beispiel 1: (

    Um Polymorphismus zu verstehen, können Sie sich auf diesen Fall konzentrieren

    )

    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");
        }
    }

    Antwort: A BEmpfehlung für ein entsprechendes Video-Tutorial: Java-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWie man den Java-Polymorphismus 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
Vorheriger Artikel:Was ist Reflexion in Java?Nächster Artikel:Was ist Reflexion in Java?