abstract class Animal
{
abstract void cry();
abstract String getAnimalName();
}
public class Simulator
{
void playSound(Animal animal)
{
System.out.print(animal.getAnimalName());
animal.cry();
}
}
public class Application{
public static void main(String args[]){
Simulator simlator = new Simulator();
simlator.playSound(new Cat());
simlator.playSound(new Dog());
}
}
public class Dog extends Animal{
void cry(){
System.out.print("旺旺汪汪汪?");
}
String getAnimalName()
{
return "狗说:";
}
}
public class Cat extends Animal{
void cry(){
System.out.println("喵喵喵喵喵?");
}
String getAnimalName()
{
return "猫说:";
}
}