Aplicación del polimorfismo de objetos Java_

Primero escribe una clase Animal y una clase Food, encapsula el nombre con propiedades privadas, dale métodos set y get, y dale un constructor. Escriba las clases Cat y Dog para heredar la clase Animal y escriba las clases Fish y Bone para heredar la clase Food respectivamente.

Luego escriba una clase maestra humana principal, proporcione el nombre del atributo y el constructor en el humano principal y escriba el método feed() al mismo tiempo, donde el método feed() reflejará el polimorfismo del objeto. Finalmente, escribe la clase de prueba Test. directamente en el código

Animales, Perros y Gatos

public class Animal {
    private String name;

    public Animal(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
public class Dog extends Animal{
    public Dog(String name) {
        super(name);
    }
}
public class Cat extends Animal{
    public Cat(String name) {
        super(name);
    }
}

comida, pescado y huesos

public class Food {
    private String name;

    public Food(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
public class Fish extends Food{
    public Fish(String name) {
        super(name);
    }
}
public class Bone extends Food{
    public Bone(String name) {
        super(name);
    }
}

El maestro humano principal y la clase de prueba Prueba

public class Test {
    public static void main(String[] args) {
        Master ming = new Master("小明");
        Cat cat = new Cat("小猫");
        Fish fish = new Fish("鱼肉");
        ming.feed(cat,fish);

        Dog huang = new Dog("小黄");
        Bone bone = new Bone("骨头");
        ming.feed(huang,bone);
    }
}
public class Master {
    String name;

    public Master(String name) {
        this.name = name;
    }
    //这里体现了对象多态,因为new的对象都是Animal的子类和Food的子类,而我们在Test类中调用时我们 
    //只需要调用一个方法就能实现两个业务逻辑,不需要写两个方法分别完成。
    public void feed(Animal animal,Food food){
        System.out.println("主人"+name+"给"+animal.getName()+"吃"+food.getName());
    }
}

El resultado de la operación es el siguiente

El dueño Xiao Ming le dio carne de pescado al gatito
El dueño Xiao Ming le dio un hueso a Xiao Huang

 Resumir:

La premisa del polimorfismo es que existe una relación de herencia entre dos objetos (clases). El polimorfismo se establece primero sobre la base de la herencia, y la herencia puede ser polimórfica. El polimorfismo significa que diferentes subclases reescriben y cubren los métodos de la clase principal después de heredar la clase principal, es decir, el mismo método de la clase principal muestra diferentes formas en la subclase heredada. Otra condición para el establecimiento del polimorfismo es que se debe utilizar el método de nueva subclase de la clase principal al crear una subclase. (Es decir, la aplicación de la clase principal apunta al objeto de la subclase, comúnmente conocida como transformación ascendente).

Supongo que te gusta

Origin blog.csdn.net/ming2060/article/details/127766918
Recomendado
Clasificación