• 2022-06-06
    应用编程题(共8分) 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下: 1.编写抽象类Animal Animal抽象类有两个抽象方法cry()和getAnimalName(),即要求各种具体的动物给出自己的叫声和种类名称。 2.编写模拟器类Simulator 该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用Animal的子类重写cry()方法播放具体动物的声音,调用子类重写的getAnimalName()方法显示动物种类的名称。 3.编写Animal类的子类:Dog和Cat类 Dog类和Cat类分别继承于Animal类,并重写Animal类中的抽象方法。 4.编写主类MainTest类 在主类MainTest类中的main方法中至少包含如下代码: Simulator simulator=new Simulator(); simulator.playSound(new Dog()); simulator.playSound(new Cat());
  • abstract class Animal{ public abstract void cry(); //1分 public abstract String getAnimalName();//1分 } class Dog extends Animal{ //继承0.5分 public void cry() { //重写0.5分 System.out.println("汪汪叫..."); } public String getAnimalName() {//重写0.5分 return "dog"; }; } class Cat extends Animal{ //继承0.5分 public void cry() { //重写0.5分 System.out.println("喵喵叫..."); } public String getAnimalName() { //重写0.5分 return "cat"; }; } class Simulator{ // Simulator 类定义正确2分 public void playSound(Animal animal) { System.out.print(animal.getAnimalName()); animal.cry(); } } public class MainTest { // MainTest类定义正确1分 public static void main(String[] args) { Simulator simulator=new Simulator(); simulator.playSound(new Dog()); simulator.playSound(new Cat()); } }

    举一反三

    内容

    • 0

      (7-1)定义了Animal类、Cat类和Dog类,则()代码段是正确的。classAnimal{};classCatextendsAnimal{}classDogextendsAnimal{} A: Dog[] a = new Dog[5];a[0] = new Cat(); B: Animal a = new Animal[5];a[0] = new Animal(); C: Dog[]a = new Dog[5];a[0] = new Animal(); D: Cat[]a = new Cat[5];a[0] = new Cat();

    • 1

      定义了Animal类、Cat类和Dog类,则()代码段是正确的。classAnimal{};classCatextendsAnimal{ }classDogextendsAnimal{ } A: Dog[ ] ds=new Dog[5];ds[0]=new Animal(); B: Animal[ ] as=new Animal[5];as[0]=new Dog();

    • 2

      若Animal是Cat,Dog的父类,则下列选项中,正确的是() A: Animal animal = new Cat(); B: Cat cat = (Cat)new Animal(); C: Animal animal = new Dog(); D: Cat cat = (Cat)new Dog();

    • 3

      若Animal是Cat,Dog的父类,则下列选项中,正确的是() A: Animal animal = new Cat(); B: Animal a = new Cat(); Cat cat = (Cat) a; C: Animal animal = new Dog(); D: Cat cat = (Cat)new Dog();

    • 4

      (7-1)定义了Animal类、Cat类和Dog类,则代码段是正确的。 class Animal{ }; class Cat extends Animal{} class Dog extends Animal{}