「Java学习打卡」34、面向对象程序练习

设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。要求如下:

  1. 编写接口Animal
    Animal接口有2个抽象方法cry()和getAnimaName(),即要求实现该接口的各种具体动物类给出自己的叫声和种类名称。
  2. 编写模拟器类Simulator
    该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用实现Animal接口类重写的cry()方法播放具体动物的声音、调用重写的getAnimalName()方法显示动物种类的名称。
  3. 编写实现Animal接口的Dog类和Cat类
    下图是Simulator、Animal、Dog、Cat的UML图。
  4. 编写主类Application(用户程序)
    在主类Application的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.println(animal.getAnimalName() + " Sound is:");
        animal.cry();
    }
}

class Cat extends Animal {
    public void cry() {
        System.out.println("Meow");
    }

    public String getAnimalName() {
        return "Cat";
    }
}

class Dog extends Animal {
    public void cry() {
        System.out.println("Bow-Wow");
    }

    public String getAnimalName() {
        return "Dog";
    }
}

public class Test {
    public static void main(String args[]) {
        Simulator simulator = new Simulator();
        simulator.playSound(new Cat());
        simulator.playSound(new Dog());
    }
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值