Heim > Java > javaLernprogramm > Hauptteil

Detaillierte Erklärung einfacher Beispiele für Java-Polymorphismus

coldplay.xixi
Freigeben: 2020-09-04 09:15:44
Original
6249 Leute haben es durchsucht

Ein einfaches Beispiel für Polymorphismus in Java: Zuerst gibt es eine Animal-Klasse, die zwei Unterklassen hat: Cat und Dog; dann gibt es eine say-Methode in Animal. Wenn Cat diese Methode aufruft, ist die Ausgabe „Kitten Meow Meow Meow“. Wenn Dog diese Methode aufruft, lautet die Ausgabe „Welpenrinde, woof, woof“. 🔜 Es ist ein wichtiges Merkmal der objektorientierten Programmierung (OOP). Wenn eine Sprache nur Klassen, aber keinen Polymorphismus unterstützt, kann das nur bedeuten, dass sie objektbasiert und nicht objektorientiert ist.

Polymorphismus tritt zwischen Objekten zweier Klassen mit einer Vererbungsbeziehung auf, sodass er nicht wie die Methodenüberladung (die in einer Klasse auftritt) während der Kompilierung (d. h. bestimmt) auftritt, sondern zur Laufzeit (Beenden).

Detaillierte Erklärung einfacher Beispiele für Java-PolymorphismusEine Referenz eines übergeordneten Klassentyps kann auf ein Objekt einer seiner Unterklassen verweisen

[Verschiedene] Objekte in der [gleichen] Klassendomäne weisen [unterschiedliche] Leistungen auf, wenn sie die [gleiche] Methode ausführen Das gibt es Ein klassisches polymorphes Beispiel: Es gibt eine Animal-Klasse, die zwei Unterklassen hat: Cat und Dog. Wenn Cat diese Methode aufruft, lautet die Ausgabe „Kitten Meow Meow“. Bei dieser Methode lautet die Ausgabe „Puppy Woof Woof Woof“, was die Implementierung des Java-Polymorphismus darstellt.

Hier schreiben wir noch eine: – Elternklasse: Person.java

import java.util.Scanner;
public class Person {
    public int salary;
    public int allSalary(){
        return 0;
    }
    public static void main(String[] args) {
        Person p = null;
        for (int n = 0; n < 3; n++) {
            @SuppressWarnings("resource")
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个1-3的数字:\n1 is Teacher\n2 is Scientis\n3 is Waiter");
            int i = sc.nextInt();
            //分别指向了不同的子类,输出的结果是不一样的
            if (i == 1) {
                p = new Teacher(5000);
                System.out.println(p.allSalary());
            } else if (i == 2) {
                p = new Scientist(5000);
                System.out.println(p.allSalary());
            } else if (i == 3) {
                p = new Waiter(5000);
                System.out.println(p.allSalary());
            } else {
                System.out.println("?\n请输入1-3");
            }
        }
}
}
Nach dem Login kopieren

– Unterklasse: Scientist .java多态

 public class Scientist extends Person{
    public Scientist(int salary){
        this.salary = salary;
    }
    public int allSalary(){
        int aa = salary*12+36500;
        System.out.print("五五开一年的工资:");
        return aa;
    }
}
Nach dem Login kopieren

Waiter.java

public class Waiter extends Person{
    public Waiter(int salary){
        this.salary = salary;
    }
    public int allSalary(){
        int aa = salary*12;
        System.out.print("服务员一年的工资:");
        return aa;
    }
}
Nach dem Login kopieren

Teacher .java

public class Teacher extends Person{
    public Teacher(int salary){
        this.salary = salary;
    }
    public int allSalary(){
        int aa = salary*12+3650;
        System.out.print("教师一年的工资:");
        return aa;
    }
}
Nach dem Login kopieren

Möchten Sie mehr über das Programmierlernen erfahren, Bitte beachten Sie die Rubrik

php-Training

!

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung einfacher Beispiele für Java-Polymorphismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage