Java练习 | 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声(附代码)

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

要求如下:

编写抽象类Animal

Animal抽象类有2个抽象方法cry()和getAnimaName(),即要求各种具体的动物给出自己的叫声和种类名称。

编写模拟器类Simulator

该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用Animal的子类重写的cry()方法播放具体动物的声音、调用子类重写的getAnimalName()方法显示动物种类的名称。

编写Animal类的子类:Dog,Cat类

解答过程:

画出抽象类的UML图如下:
Java练习 | 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声(附代码)_第1张图片

代码如下:

Animal.java

package moniqi;

public interface Animal {
	void cry();
	String getAnimalName();
}

Dog.java

package moniqi;

public class Dog implements Animal {

	public void cry() {
		System.out.println("汪汪汪");
	}

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

Cat.java

package moniqi;

public class Cat implements Animal{

	public void cry() {
		System.out.println("喵喵喵");
	}

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

Simulator.java

package moniqi;

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

Text.java

package moniqi;

public class Text {

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

运行结果:
Java练习 | 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声(附代码)_第2张图片

你可能感兴趣的:(Java,java,接口)