Cas pertinents de polymorphisme, méthodes de réécriture, opérateur instanceof et égalité de réécriture en Java

1. Code et rendus

1. Réécrire

Cas: Utilisation d'une méthode pour réécrire et optimiser le système électronique pour animaux de compagnie

Le code est le suivant (exemple):

package test1;

public class Dog extends Pet{
    
    
    private String type;

    public Dog(String name, int health, int cute, String type) {
    
    
        super(name, health, cute);
        this.type = type;
    }

    @Override
    public void show() {
    
    
        super.show();
        System.out.println("我是一只:"+type);
    }

    public String getType() {
    
    
        return type;
    }

    public void setType(String type) {
    
    
        this.type = type;
    }
}

package test1;

public class Penguin extends Pet{
    
    
    private String sex;

    public Penguin(String name, int health, int cute, String sex) {
    
    
        super(name, health, cute);
        this.sex = sex;
    }

    @Override
    public void show() {
    
    
        super.show();
        System.out.println("我的性别是:"+sex);
    }

    public String getSex() {
    
    
        return sex;
    }

    public void setSex(String sex) {
    
    
        this.sex = sex;
    }
}

package test1;

public class Pet {
    
    
    private String name;
    private int health;
    private int cute;

    public Pet(String name, int health, int cute) {
    
    
        this.name = name;
        this.health = health;
        this.cute = cute;
    }



    public void show(){
    
    
        System.out.println("宠物的自白:");
        System.out.println("我的名字:"+name+"\t"+"我的健康值为" +
                health+"\t"+"我和主人的亲密度是"+cute);
    }



    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }

    public int getHealth() {
    
    
        return health;
    }

    public void setHealth(int health) {
    
    
        this.health = health;
    }

    public int getCute() {
    
    
        return cute;
    }

    public void setCute(int cute) {
    
    
        this.cute = cute;
    }
}

package test1;

public class Test {
    
    
    public static void main(String[] args) {
    
    
        fun(new Dog("欧欧",100,0,"雪纳瑞犬"));
        fun(new Penguin("楠楠",100,0,"Q妹"));
    }
    private static void fun(Pet pet) {
    
    
            pet.show();
    }
}

Insérez la description de l'image ici

2. Réécrire égal

Cas: réécrivez les règles de comparaison pour déterminer si deux étudiants (étudiant) sont le même objet.
Attributs liés aux étudiants
Id (numéro d'élève), nom (nom), âge (âge)
Si deux étudiants ont le même numéro et le même nom d'élève, ils sont le même Le code objet
est le suivant (exemple):

package test2;

public class Student {
    
    
    private String name;
    private int id;
    private int age;

    public Student(String name, int id, int age) {
    
    
        this.name = name;
        this.id = id;
        this.age = age;
    }

    @Override
    public boolean equals(Object obj) {
    
    
        if (obj instanceof Student){
    
    
            Student s= (Student) obj;
            return this.name==s.name && this.id==s.id;
        }else {
    
    
            return false;
        }
    }

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }

    public int getId() {
    
    
        return id;
    }

    public void setId(int id) {
    
    
        this.id = id;
    }

    public int getAge() {
    
    
        return age;
    }

    public void setAge(int age) {
    
    
        this.age = age;
    }
}

package test2;

public class TestStu {
    
    
    public static void main(String[] args) {
    
    
        Student stu1= new Student("张三",123,22);
        Student stu2= new Student("张三",123,26);
        System.out.println(stu1.equals(stu2));
    }
}

Insérez la description de l'image ici

3. Polymorphisme

Cas: utilisez le polymorphisme pour nourrir les
animaux de compagnie. Les animaux ont faim et le propriétaire doit nourrir leurs animaux de compagnie. Utilisez le polymorphisme pour réaliser ce processus.
Différents animaux mangent des choses différentes.
Différents animaux ont des valeurs de santé différentes après avoir mangé. Lorsque la
valeur de santé atteint 100 , non Le code pour continuer l'alimentation
est le suivant (exemple):

package test3;

public class Dog extends Pet{
    
    
    public Dog(int health) {
    
    
        super(health);
    }

    @Override
    public void eat(String food) {
    
    
        System.out.println("狗狗吃"+food+",健康值增加3");
        setHealth(getHealth()+3);
    }
}

package test3;

public class Master {
    
    
    public void feed(Pet pet,String food){
    
    
        pet.eat(food);
    }
}

package test3;

public class Penguin extends Pet{
    
    
    public Penguin(int health) {
    
    
        super(health);
    }

    @Override
    public void eat(String food) {
    
    
        System.out.println("企鹅吃"+food+",健康值增加5");
        setHealth(getHealth()+5);
    }
}

data = pd.read_csv(

package test3;

public class Pet {
    
    
    private int health;

    public Pet(int health) {
    
    
        this.health = health;
    }

    public void eat(String food){
    
    
        System.out.println("宠物吃"+food);
    }
    public int getHealth() {
    
    
        return health;
    }

    public void setHealth(int health) {
    
    
        this.health = health;
        if (health>=100){
    
    
            this.health=100;
            System.out.println("已经吃饱了");
        }
    }
}

package test3;

public class Test {
    
    
    public static void main(String[] args) {
    
    
        Master m=new Master();
        Dog dog=new Dog(60);
        m.feed(dog,"大骨头");
        System.out.println(dog.getHealth());

        Penguin p=new Penguin(50);
        m.feed(p,"鱼");
        System.out.println(p.getHealth());


    }
}

Insérez la description de l'image ici

4. instance de l'opérateur

Cas: Utiliser le polymorphisme pour réaliser la fonction d'adoption et de jeu avec les animaux de compagnie par le propriétaire.Les
chiens ont une méthode unique pour attraper le frisbee, et les pingouins ont une méthode unique de nager en Antarctique. Veuillez écrire une classe de test pour appeler les méthodes uniques de divers animaux de compagnie spécifiques.
Utilisez le casting vers le bas.
Utilisez instanceof pour déterminer le type d'animaux de compagnie.

Le code est le suivant (exemple):

package test4;

public class Dog extends Pet{
    
    
    public Dog(int health) {
    
    
        super(health);
    }


    public void fly(){
    
    
        System.out.println("狗狗接飞盘");
    }

    @Override
    public void eat(String food) {
    
    
        System.out.println("狗狗吃"+food+",将康值增加3");
        setHealth(getHealth()+3);
    }
}

package test4;

public class Master {
    
    
    public void feed(Pet pet,String food){
    
    
        pet.eat(food);
    }
    public void play(Pet pet){
    
    
        if (pet instanceof Dog){
    
    
            Dog dog= (Dog) pet;
            dog.fly();
        }else if (pet instanceof Penguin){
    
    
            Penguin p= (Penguin) pet;
            p.swim();
        }
    }
    public Pet adopt(String name){
    
    
        if (name.equals("狗狗")){
    
    
            return new Dog(60);
        }else if (name.equals("企鹅")){
    
    
            return new Penguin(50);
        }else {
    
    
            return null;
        }
    }
    public Pet donate(String name){
    
    
        if (name.equals("狗狗")){
    
    
            return new Dog(60);
        }else if (name.equals("企鹅")){
    
    
            return new Penguin(60);
        }else {
    
    
            return null;
        }
    }
}

package test4;

public class Penguin extends Pet{
    
    
    public Penguin(int health) {
    
    
        super(health);
    }

    public void swim(){
    
    
        System.out.println("企鹅在游泳");
    }
    @Override
    public void eat(String food) {
    
    
        System.out.println("企鹅吃"+food+",将康值增加5");
        setHealth(getHealth()+5);
    }
}

package test4;

public class Pet {
    
    
    private int health;

    public Pet() {
    
    
    }

    public Pet(int health) {
    
    
        this.health = health;
    }
    public void eat(String food){
    
    
        System.out.println("宠物吃"+food);
    }

    public int getHealth() {
    
    
        return health;
    }

    public void setHealth(int health) {
    
    
        this.health = health;
        if (health>100){
    
    
            this.health=100;
            System.out.println("吃饱了,再也吃不下了");
        }
    }
}

package test4;

public class Test {
    
    
    public static void main(String[] args) {
    
    
        Master m=new Master();
       Pet p = m.adopt("狗狗");
        m.feed(p,"大骨头");
        m.play(p);
        System.out.println(p.getHealth());
        Pet a=m.donate("狗狗");
        System.out.println("你捐献的是:"+a.getClass().getName());
    }
}

Pour résumer

Ce qui précède est le contenu des cas liés au polymorphisme, qui sont principalement réalisés en utilisant des technologies connexes telles que l'héritage, la réécriture et le polymorphisme.

Je suppose que tu aimes

Origine blog.csdn.net/StruggleBamboo/article/details/111300225
conseillé
Classement