> 文档中心 > 7-2 动物声音“模拟器”

7-2 动物声音“模拟器”


abstract类和abstract()方法

设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。要求如下:
(1)编写抽象类Animal
Animal抽象类有2个抽象方法cry()和getAnimaName(),即要求各种具体的动物给出自己的叫声和种类名称。
(2)编写模拟器类Simulator
该类有一个playSound(Animal animal)方法。参数animal可以调用Animal的子类重写的cry()方法播放具体动物的声音、调用子类重写的getAnimalName()方法显示动物种类的名称。
(3)编写Animal类的子类:Dog,Cat类
(4)编写主类
在主类的main方法中包含如下代码:
Simulator simulator = new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());

输入格式:

无需输入。

输出格式:

与样例一致。

输入样例:

输出样例:

现在播放狗的声音:汪汪...汪汪现在播放猫的声音:喵喵...喵喵

代码实现:

abstract class Animal{    public abstract void cry();    public abstract String getAnimalName();}class Simulator{    public void playSound(Animal animal){ System.out.print("现在播放"+animal.getAnimalName()+"的声音:"); animal.cry();    }}class Cat extends  Animal{    @Override    public void cry() { System.out.println("喵喵...喵喵");    }    @Override    public String getAnimalName() { return "猫";    }}class Dog extends  Animal{    @Override    public void cry() { System.out.println("汪汪...汪汪");    }    @Override    public String getAnimalName() { return "狗";    }}public class Main{    public static void main(String[] args) { Simulator simulator = new Simulator(); simulator.playSound(new Dog()); simulator.playSound(new Cat());    }}