动物管理系统

初级其中考试项目之动物管理系统


  1. 前言:该系统主要培养面向对象的思维方式。
  2. 使用的技术:
    1. 数组
    2. 类与对象
    3. 封装、继承、多态
    4. 抽象类
    5. 接口
    6. static与final关键字
    7. 重写toString()方法
  3. 系统概述
    1. 动物招领所是收养流浪动物的地方。
    2. 首先,由动物保护者寻找流浪的动物,并带回到动物招领所喂养。
    3. 动物到动物招领所后,由动物管理者来照顾动物,每照顾一次,动物的体重会增加,每种动物增加的重量不同,体重的上限也不同。
    4. 招领所的动物可以被满足条件的领养者进行领养。有许多种领养者:公务员、工人、农民等。由这些领养者来选择收养哪只动物,相应的动物被领走之后招领所的动物就会少一只。
  4. 系统分析
    • 动物包(com.zxjy.zoosystem.animal)
      1. 猫类(Cat):特有属性:爪子锋利程度(以数字表述)(clawKeen)
      2. 狗类(Dog):特有属性:牙齿锋利程度(以数字表述)(toothKeen)
      3. 动物类(Animal):动物是抽象类,提供动物的模板信息,全部为私有属性(动物编号:number,名字:name,性别:sex,品种:type,体重:weight)。各个具体的子类动物继承动物,每个动物在抽象类的基础上有相应的扩充。
      4. 动物集合类(AnimalArr):写一个类表示动物的集合,具体方法:1.统计已经放了多少只动物(animalCount());,2.可以往里面加入动物(只要是动物就可以)(addAnimal(Animal a));,3.可以删除动物,删除后返回被删除的动物信息(deleteAnimal(int number));,4.将所有动物信息打印出来(showAnimalMsg())四个方法。
    • 领养者包(com.zxjy.zoosystem.adopter)
      1. 工人类(Worker):实现领养者接口。
      2. 农民类(Farmer):实现领养者接口。
      3. 公务员类(Civiler):实现领养者接口。
      4. 领养者工厂类(AdopterFactory):类中有方法:随机生成一个领养者并返回(newAdopter())(使用Random类生成随机数)。
      5. 领养者接口(Adopter):具体领养者实现了这个接口,接口中有一个领养动物的抽象方法adoptAnimal(),这个方法每个实现的领养者类中具体内容不同。
    • 招领所包(com.zxjy.zoosystem.zoo)
      1. 动物保护者类(AnimalProtector):动物保护者有一方法discoverAnimal()能够发现动物.发现的过程如下:每次系统随机的产生一个数,如果是1,提示用户输入猫的信息,并使用这些信息创建一个猫,如果是2,提示用户输入狗的信息,使用这些信息创建一个狗,依次类推。最后将发现的动物返回。
      2. 动物招领所类(AnimalHome):类中有一个方法start();此方法为打印菜单,用户输入具体菜单数字后实现各个功能。
      3. 动物饲养者类(AnimalFeeder):负责饲养动物。类中有一个喂养动物的方法feedAnimal()。每只动物随机喂养,猫每次增加0.5-3.5的重量,狗每次增加2.5-5.5的重量。如果猫超过30则不能再喂养,如果狗超过50不能再喂养。
    • 输入工具包(com.zxjy.zoosystem.util)
      1. 工具类(InputUtil):final类型的输入辅助类Input,里面的方法全是静态的,可以直接调用。里面内容,例如:如果用户输入的不是数字则提示重新输入。
    • 系统启动包(com.zxjy.zoosystem.test)
      1. 系统启动类(Test):main方法调用招领所中的方法启动。
  5. 系统运行:见具体实现的源代码视频。
posted @ 2021-05-13 15:49  64one  阅读(554)  评论(0)    收藏  举报