大神帮帮忙,解答一下,在线等,急!!!

一个主人养了猫和狗,猫和狗都有自己爱吃的东西。运用多态,实现让主人拿到一种食物就知道这是哪种动物的?(20分)
(1)创建Animal(动物)类:(5分)
a)属性:age(年龄),name(名称)并进行封装。
b)方法:构造方法Animal()用于初始化名称和年龄;
set()与get()用于设置和提取已经封装的参数;
建立两个公开的方法:
分别是cry(),打印“在叫”;eat(),打印“在吃”。
(2)分别创建Cat(猫)和Dog(狗)类,继承Animal(动物)类,创建各自 的构造方法,重写cry()和eat()方法。(5分)
(3)创建Master(主人)类,在此类创建一个方法:CEF(Animal an),使得传 递进来的动物类可以实现动物的叫和吃的方法。(5分)
(4)创建测试类DuoTaiDemo_Animal,根据不同的动物,输出不用的动物名称、年龄、叫和吃。(5分)

1个回答

楼主可以参考一下:

package Exert;
public abstract class Animal {
    public abstract void cry();
    public abstract String getAnimalName();
}


package Exert;
public class Simulator {
    public void playSound(Animal animal){
         System.out.println(animal.getAnimalName()+"的声音:");       
         animal.cry();
    }

}


package Exert;
public class Cat extends Animal{
     void cry(){
      System.out.println("喵喵喵");
     }
     String getAnimalName(){
        return "猫";
     }
}

package Exert;
public class Dog extends Animal{
      void cry(){
          System.out.println("汪汪汪");
      }
      String getAnimalName(){
            return "狗";
      }
}

package Exert;
public class Application {
    public static void main(String args[]){
        Simulator simulator = new Simulator();
        simulator.playSound(new Dog());
        simulator.playSound(new Cat());
    }
}


Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问