JAVA项目遇到困难,捞一下代码和注释,希望全面一点

对贯穿案例电子宠物系统的类结构进行重构,要求如下:定义Eatable接口,在接口中定义eat()方法,表示吃饭功能。定义FlyingDiscCatchable接口,在接口中定义catchFlying()方法,表示玩飞盘功能。定义Swimmable接口,在接口中定义swimming()方法,表示游泳功能。定义抽象类Pet,包括宠物名称name、健康值health和与主人亲密度love属性,并提供抽象方法print(),用来输出宠物信息。定义狗类Dog,继承Pet类,实现Eatable、FlyingDiscCatchable接口,并重写或实现各个方法。定义企鹅类Penguin,继承Pet类,实现Eatable、Swimmable接口,并重写或实现各个方法。编写测试类,实现狗吃饭、企鹅游泳和狗接飞盘游戏的功能,并输出企鹅信息。

Eatable.java


public interface Eatable {  //定义Eatable 接口
    public abstract void eat();//吃饭

}


FlyingDiscCatchable.java



public interface FlyingDiscCatchable { //定义玩飞盘接口
    public abstract void catchFlying();//玩飞盘
}

Swimmable.java


public interface Swimmable { //定义游泳接口
    public abstract void swimming(); //游泳
}


Pet.java


public abstract class Pet {
    protected String name; //宠物的名字
    protected float health; //健康值
    protected float love; //亲密度
    
    public abstract void print();  //抽象函数,打印宠物的信息,由具体类实现

    public String getName() {  //获取宠物名字
        return name;
    }

    public void setName(String name) { //设置宠物名字
        this.name = name;
    }

    public float getHealth() { //获取健康值
        return health;
    }

    public void setHealth(float health) { //设置健康值
        this.health = health;
    }

    public float getLove() { //获取与主任的亲密度
        return love;
    }

    public void setLove(float love) { //设置与主任的亲密度
        this.love = love;
    }
    
}

Dog.java

//定义Dog类,继承Pet类,并实现Eatable ,FlyingDiscCatchable接口
public class Dog extends Pet implements Eatable ,FlyingDiscCatchable {

    @Override
    public void print() {
        // 实现print函数,打印小狗的信息
        System.out.println("Dog name:"+name +",health:"+health+",love:"+love);
    }

    @Override
    public void catchFlying() { 
        // 实现玩飞盘接口
        System.out.println("Dog can catchFlying!");
    }

    @Override
    public void eat() {
        // 实现吃饭接口
        System.out.println("Dog eating!");
    }

}


Penguin.java


public class Penguin extends Pet implements Eatable ,Swimmable{

    @Override
    public void swimming() {
        // 实现游泳接口
        System.out.println("Penguin swimming!");
    }

    @Override
    public void eat() {
        // 实现吃饭接口
        System.out.println("Penguin eating!");
    }

    @Override
    public void print() {
        // 打印企鹅的信息
        System.out.println("Penguin name:"+name +",health:"+health+",love:"+love);
    }

}


Test.java


public class Test {
    
    public static void main(String[] args){
        Dog d = new Dog(); //重建Dog对象
        d.setName("小花狗"); //设置Dog对象的名字
        d.setHealth((float) 4.5); //设置健康值
        d.setLove(10); //设置亲密度
        
        Penguin p = new Penguin(); //创建企鹅对象
        p.setName("小企鹅"); //设置企鹅的名字
        p.setHealth((float) 3.8); //设置健康值
        p.setLove((float) 9.5); //设置亲密度
        
        //狗吃饭
        d.eat();
        //企鹅游泳
        p.swimming();
        //狗接飞盘
        d.catchFlying();
        
        d.print(); //打印狗狗信息
        p.print();//打印企鹅信息
        
    }
 
} 

//接口
public interface Eatable{
//抽象方法
  void eat();

}
//接口
public interface FlyingDiscCatchable{
//抽象方法  
void catchFlying();
}

public interface Swimmable{
  void swimming();
}
//定义抽象类Pet,包括宠物名称name、健康值health和与主人亲密度love属性,并提供抽象方法print(),用来输出宠物信息。
public abstract class Pet{
  float health;
  String love;
 //抽象方法
  abstract void print();
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632