6-1 设计一个动物声音模拟器

设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下。
(1)编写抽象类AnimalAnimal抽象类有两个抽象方法 cry()和getAnimalName(),即要求各种具体的动物给出自己的叫声和种类名称。
(2)编写模拟器类Simulator该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数 animal可以调用 Animal的子类重写的 cry()方法播放具体动物的声音,调用子类重写的getAnimalName()方法显示动物种类的名称。
(3)编写Animal类的子类: Dog和 Cat。

UML图:

裁判测试程序样例:

 

public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Simulator simulator = new Simulator(); simulator.playSound(new Dog()); simulator.playSound(new Cat()); } } /* 请给出每个类的定义 (注:请把class前面的public去掉再提交)*/

输入样例:


输出样例:

狗的叫声是: 汪汪~
猫的叫声是: 喵喵~

代码

class Simulator {

    public  void playSound(Animal animal){
        System.out.printf(animal.getAnimalName());
        System.out.printf("的叫声是: ");
        animal.cry();
        System.out.println("~");
    }
}
abstract class Animal {
    public abstract void cry();
    public abstract String getAnimalName();
}
class Dog extends Animal {
    public void cry  (){
        System.out.printf("汪汪");
    }
    public  String getAnimalName (){
        return "狗";
    }
}
class Cat extends Animal {

        public void cry  (){
            System.out.printf("喵喵");
        }
        public String getAnimalName (){
            return "猫";
        }


}

  • 8
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值