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

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 【】{ 【】 【】 }

输入样例:

 

输出样例:

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

/**
 * ClassName:AnimalShoutTest2
 * Description:
 *
 * @Author:
 * @Create 2023/10/11 19:03
 * @Version 1.0
 */
//动物发生模拟器.  请在下面的【】处添加代码。
//    设计一个动物发生模拟器,用于模拟不同动物的叫声。比如狮吼、虎啸、狗旺旺、猫喵喵……。
//            定义抽象类Animal,包含两个抽象方法:获取动物类别getAnimalClass()、动物叫shout();
//            然后基于抽象类Animal定义狗类Dog、猫类Cat和山羊Goat,用getAnimalClass()方法返回不同的动物类别(比如猫,狗,山羊),用shout()方法分别输出不同的叫声(比如喵喵、汪汪、咩咩)。
//            最后编写AnimalShoutTest类测试,输出:
//            猫的叫声:喵喵
//            狗的叫声:汪汪
//            山羊的叫声:咩咩
//
//            其中,在AnimalShoutTestMain类中,用speak(Animal animal){}方法输出动物animal的叫声,在main()方法中调用speak()方法,分别输出猫、狗和山羊对象的叫声。
//
//            请在下面的【】处添加代码。
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()
    static void speak (Animal animal){
        System.out.print(animal.getAnimaClass()+"的叫声:" );
        animal.shout();
    }


}

//定义抽象类Animal
// 定义抽象类Animal,包含两个抽象方法:获取动物类别getAnimalClass()、动物叫shout();
abstract class Animal{
    String annimal ;
    public String  getAnimaClass(){
        return annimal;
    }

    public void  shout(){
    }
    public void Animal(){

    }
}
//基于Animal类,定义猫类Cat,并重写两个抽象方法
//            然后基于抽象类Animal定义狗类Dog、猫类Cat和山羊Goat,用getAnimalClass()方法返回不同的动物类别(比如猫,狗,山羊),用shout()方法分别输出不同的叫声(比如喵喵、汪汪、咩咩)。

class Cat extends Animal{
    public String   getAnimaClass(){
        annimal = "猫";
        return annimal;
    }

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

        }
//基于Animal类,定义狗类Dog,并重写两个抽象方法
class Dog extends Animal{
    public String   getAnimaClass(){
        annimal = "狗";
        return annimal;
    }

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

}
//基于Animal类,定义山羊类Goat,并重写两个抽象方法
class Goat extends Animal{
    public String   getAnimaClass(){
        annimal = "山羊";
        return annimal;
    }

    public void shout(){
        System.out.print("咩咩");
    }

}

 

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值