动物乐园

2024-01-14 01:58
文章标签 动物 乐园

本文主要是介绍动物乐园,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这个项目主要是检验你对面向对象的三大特性的学习情况

需求:以面向对象思想设计动物乐园系统。动物乐园中有猫、鸭等成员, 还可能增加新成员。猫和鸭都有自己的名字,都有腿,但腿的条数不同,猫和鸭子会发出 叫声,猫的叫声是“喵喵喵……”,鸭的叫声是“嘎嘎嘎……”。

分析:有五个类,一个接口,五个类分别是Cat类、Duck类、Animal类、Test类和新增的成员Dolphin类,接口为Terrestrial

Cat类的属性有:int类型的legNum,Duck类的属性有:int类型的legNum,抽象类Animal的属性有:String类型的name

Cat类和Duck类的方法有:返回值类型为void的getLegNum()方法,Cat(String  name,int legNum)的构造方法,返回值类型为void的shout()方法

Animal类的方法有:Animal(String  name)的构造方法,返回值类型为void的shout()的抽象方法

Dolphin类的方法有:Dolphin(String  name)的构造方法,返回值类型为void的shout()方法

接口Terrestrial的方法有:返回值为int类型的getLegNum()方法

代码的实现:

abstract class Animal
{
    private String name;

    //构造方法,初始化名字
    Animal(String name){
        this.name = name;
    }

   //getter方法,获得名字
    String getName(){
        return name;
    }

    //抽象方法,子类重写此方法
    abstract void shout();
    
}

interface Terrestrial

{

    //接口中的方法,扩展此功能的类需重写此方法
     int getLegNum();
}

class Cat extends Animal implements Terrestrial
{
    int legNum;

   //构造方法,初始化名字和腿的数量
    Cat(String name,int legNum){

       //调用父类的构造方法
        super(name);
        this.legNum = legNum;
    }

    //重写父类的shout方法
    public void shout(){
        System.out.println("喵喵。。。");
    }

   //重写接口中的方法
    public int getLegNum(){
        return legNum;
    }
    
}

class Cat extends Animal implements Terrestrial
{
    int legNum;
    Cat(String name,int legNum){
        super(name);
        this.legNum = legNum;
    }
    public void shout(){
        System.out.println("喵喵。。。");
    }
    public int getLegNum(){
        return legNum;
    }
    
}


class Dolphin extends Animal
{
    Dolphin(String name){
         super(name);
    }
    public void shout(){
        System.out.println("海豚音。。。");
    }
    
}

class Test
{
    public static void main(String[] args)
    {
        System.out.println("动物名字       腿的条数       动物叫");

       //创建一个Animal类型的数组用来存储动物名字和腿的数量
        Animal[] animals = new Animal[3];

       //向数组中存储数据
        animals[0] = new Cat("加菲猫  ",4);
        animals[1] = new Duck("唐小鸭  ",2);
        animals[2] = new Dolphin("海豚奇奇");

       //遍历数组
        for (int i = 0;i < animals.length ;i++ )
        {

           //判断动物是否实现了接口
            if (animals[i] instanceof Terrestrial)
            {
                Terrestrial trtl = (Terrestrial)animals[i];
                int legNum = trtl.getLegNum();

           //如果实现了接口则输出动物名字和对应的腿的数量
            System.out.print(animals[i].getName() + "       " + legNum);
            }else{

                           //如果没实现就输出动物的名字和腿数为0
                              System.out.print(animals[i].getName() + "       0");
                        }
            System.out.print("               ");
           //输出动物的叫声
            animals[i].shout();
        }
    }
}



这篇关于动物乐园的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/603561

相关文章

【教学类-52-08】20240905动物数独(6宫格)一页2张任务卡,一页一个动物贴图卡,有答案

背景需求: 前文提到6宫格数独的图片6*6=36图,如果将6张任务卡放在一个A4上,看上去6种动物很小,所以我换了一个word模板,变成了2张任务卡放在一个A4上。 【教学类-52-07】20240903动物数独(6宫格)一页2张任务卡,无答案-CSDN博客文章浏览阅读846次,点赞25次,收藏6次。【教学类-52-07】20240903动物数独(6宫格)一页2张任务卡,无答案https:

【精选】基于Hadoop的社区流浪动物救助领养系统的设计与实现(全网最新定制,独一无二,免费赠送文档参考)

博主介绍:     ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生完成毕业项目和技术提升。 技术范围:     我熟悉的技术领域涵盖SpringBoot、Vue、SSM、HLMT

GRE作文范文——怎样看待动物实验的利与弊

[参考范文]   Every year, millions of animals undergo painful suffering or death as a result of scientific research into the effects of drugs, food additives, cosmetics and other chemical products. Whil

Scratch编程乐园:探索数组与列表的魔力

标题:Scratch编程乐园:探索数组与列表的魔力 Scratch是一款面向儿童和初学者的编程工具,由麻省理工学院媒体实验室开发。它以其拖拽式的编程界面而闻名,让编程变得更加直观和易于理解。在Scratch中,数组和列表的概念被简化为变量和列表的使用,这使得即使是编程新手也能够轻松地进行数据的存储和管理。本文将详细介绍Scratch中如何创建和使用数组或列表,并提供示例代码,帮助读者深入理解这一

<数据集>非洲动物识别数据集<目标检测>

数据集格式:VOC+YOLO格式 图片数量:1504张 标注数量(xml文件个数):1504 标注数量(txt文件个数):1504 标注类别数:4 标注类别名称:['buffalo', 'elephant', 'rhino', 'zebra'] 序号类别名称图片数框数1buffalo3795542zebra3898243elephant3837484rhino372559 使用标注工

Midjourney提示词-动物系列-65

A super cute little anthropomorphic,sheep of the Chinese Zodiac, wearing berets ,in a Hanfu in red style,standing, eyes,cute tail,super realistic,super detail,luxurious,elegant,Unreal Engine,octane re

连接一切:Web3如何推动物联网的发展

物联网面临的挑战 物联网(IoT)作为现代科技的重要组成部分,通过将各种智能设备和系统互联,正在以惊人的速度改变我们的生活方式。从智能家居到智慧城市,物联网的应用无处不在。然而,随着设备数量的急剧增加,物联网也面临着不少挑战,例如数据安全、设备互操作性、数据管理和成本等。与此同时,Web3技术作为互联网发展的第三代技术,通过去中心化、区块链和智能合约等新兴技术,正在为这些挑战提供创新的解决方案,

搜维尔科技:力反馈主手—手术机器人应用〈腔镜手术机器人平台—进入手术室动物实验〉

力反馈主手—手术机器人应用〈腔镜手术机器人平台—进入手术室动物实验〉 搜维尔科技:力反馈主手—手术机器人应用〈腔镜手术机器人平台—进入手术室动物实验〉

【教学类-36-07】20240608动物面具(通义万相)-A4大小7图15手工纸1图

背景需求: 风变的AI对话大师一年到期了,也没有看到续费的按钮。不能使用它写代码了。 MJ早就用完了,最后480次,我担心信息课题会用到它生图,所以不敢用。 最近探索其他类似MJ的免费出图工具——找到了每天给50张免费图的“通义万相”。 参照动物面具样式,下载大量的正脸卡通动物简笔画 【教学类-36-07】20230707三只对称蝴蝶(midjounery-niji)

python小游戏:猜数字、猜动物、单词接龙(带界面)

正在学习python的各位童鞋,可以多多找些程序来练练手,从而更快的掌握python编程。这里就为大家找了三个示例小程序:猜数字、猜动物、单词接龙。         一、猜数字            程序会随机生成一个1到100之间的数字,然后让用户尝试猜测这个数字。用户有6次机会来猜,每次猜测后,程序会告诉用户他们的猜测是太大、太小还是正确。如果用户在6次尝试内猜对数字,程序