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

本文探讨如何设计一个Animal类作为抽象基类,以及Simulator类用于模拟各种动物的叫声。通过这种方式,我们可以创建不同动物的子类,实现它们独特的叫声模拟功能。

Animal类:

public abstract class Animal {
	String name;
	int sound;
	//构造抽象类方法
	public abstract void cry();  
	public abstract String getAnimalName();
     public void ccry(){
		System.out.println("");
	}	
 	
	  String getAnimalNamee(){
		  System.out.println("我的名字是:"+name);
		  return name;
	  }

}

Dog类:

public   class Dog extends Animal { //子类继承父类
	String name="小白";
	//子类重写父类方法
	public String getAnimalName() {
		 System.out.println("我的名字是:"+name);
		  return name;
	}
	public void cry() {
		System.out.println("汪汪......");
		
	}

	

	

	
}
Cat类:

public  class Cat extends Animal {
	String name="小咪";
	//子类重写父类方法
	public String getAnimalName() {
		 System.out.println("我的名字是:"+name);
		  return name;
		  }
	public void cry() {
		System.out.println("喵猫......");
		
	}
	

	
	}

Simulator类:

public  class Simulator  {
	public void playSound(Animal animal){//构造Animal类型的参数animal
		//调用父类方法
	animal.cry();
	animal.getAnimalName();
			
		}



	}

Application 类:

public class Application {
	public static void main(String[] args) {
	Simulator simulator=new Simulator ();
	Animal animal =new Dog();  //animal 是Dog的上转型对象,调用子类Dog的方法。
	Animal animal1 =new Cat();
	simulator.playSound(animal);
	simulator.playSound(animal1);////animal 是Cat的上转型对象,调用子类cat的方法。



	}

}


分析:abstract:抽象类,不能把类实例化。


运行结果:




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值