动物发声模拟器(多态)

该代码示例展示了一个Java程序,设计了一个动物发声模拟器,包括一个抽象类Animal和三个子类Dog、Cat、Goat。每个子类重写了获取动物类别和动物叫声的方法,实现了不同动物的叫声输出。在AnimalShoutTest2类中,通过speak()方法调用各个动物的shout()方法,分别打印出猫、狗和山羊的叫声。
摘要由CSDN通过智能技术生成

7-3 动物发声模拟器(多态)

分数 20

作者 刘凤良

单位 天津仁爱学院

设计一个动物发生模拟器,用于模拟不同动物的叫声。比如狮吼、虎啸、狗旺旺、猫喵喵……。
定义抽象类Animal,包含两个抽象方法:获取动物类别getAnimalClass()、动物叫shout();
然后基于抽象类Animal定义狗类Dog、猫类Cat和山羊Goat,用getAnimalClass()方法返回不同的动物类别(比如猫,狗,山羊),用shout()方法分别输出不同的叫声(比如喵喵、汪汪、咩咩)。
最后编写AnimalShoutTest类测试,输出:
猫的叫声:喵喵
狗的叫声:汪汪
山羊的叫声:咩咩

其中,在AnimalShoutTestMain类中,用speak(Animal animal){}方法输出动物animal的叫声,在main()方法中调用speak()方法,分别输出猫、狗和山羊对象的叫声。

//动物发生模拟器.  请在下面的【】处添加代码。
public class AnimalShoutTest2 {
    public static void main(String[] args) {        
         Cat cat = new Cat();
         Dog dog = new Dog();        
        Goat goat = new Goat();
         speak(cat);
         speak(dog);
         speak(goat);
    }
    //定义静态方法speak()
    【】

}

//定义抽象类Animal
【】class Animal{
    【】
}
//基于Animal类,定义猫类Cat,并重写两个抽象方法
class Cat 【】{
    【】    
    【】
}
//基于Animal类,定义狗类Dog,并重写两个抽象方法
class Dog 【】{
    【】
    【】
}
//基于Animal类,定义山羊类Goat,并重写两个抽象方法
class Goat 【】{
    【】
    【】
}
 

输入样例:


输出样例:

猫的叫声:喵喵
狗的叫声:汪汪
山羊的叫声:咩咩

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

我滴代码:

//动物发生模拟器.  请在下面的【】处添加代码。
public class Main {
	public static void main(String[] args) {
		Cat cat = new Cat();
		Dog dog = new Dog();
		Goat goat = new Goat();
		speak(cat);
		speak(dog);
		speak(goat);
	}
	// 定义静态方法speak()

	private static void speak(Animal animal) {
		System.out.println(animal.getAnimalClass() + "的叫声:" + animal.shout());

	}

}

//定义抽象类Animal
abstract class Animal {
	abstract public String getAnimalClass();

	abstract public String shout();
}

//基于Animal类,定义猫类Cat,并重写两个抽象方法
class Cat extends Animal {

	@Override
	public String getAnimalClass() {
		return "猫";
	}

	@Override
	public String shout() {
		return "喵喵";

	}
}

//基于Animal类,定义狗类Dog,并重写两个抽象方法
class Dog extends Animal {

	@Override
	public String getAnimalClass() {
		return "狗";
	}

	@Override
	public String shout() {
		return "汪汪";

	}
}

//基于Animal类,定义山羊类Goat,并重写两个抽象方法
class Goat extends Animal {

	@Override
	public String getAnimalClass() {
		return "山羊";
	}

	@Override
	public String shout() {
		return "咩咩";

	}
}

我滴总结:

太简单了,没什么嗦的

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值