动物乐园java_Java面向对象的练习。动物乐园

本文介绍了一个使用Java面向对象思想设计的动物乐园系统。系统中包含猫、狗和鸭子等动物,每个动物都有自己的名字和腿的数量。通过抽象类和接口实现了动物的叫声和腿数的特性。程序还提供了展示和修改动物信息的功能。
摘要由CSDN通过智能技术生成

本次项目是:以面向对象的思想设计动物乐园系统。 动物乐园中有猫,狗,鸭子等成员,还可以增加新成员。 猫和鸭子都有自己的名字,都有自己的腿,但腿的条数不同,猫和鸭子会发出叫声,猫的叫声是:喵喵喵……,鸭子的,本文添加的是猫,狗,海豚

首先先建立一个父类(动物类),定义的是姓名,

/**

* 父类,动物类

* @author liuchunyong

*

*/

public abstract class Animal {

private String name;

public Animal() {

}

public Animal(String name){

this.name=name;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public abstract String shout();//动物叫

}

/**

*再次定义一个接口,定义腿的数量,接口的作用为规范你使用这个接口那就必须存在他定义的方法

*/

public interface Terrestrial {//关于腿的定义

public int gerLegNum() ;

}

//下面就是定义猫,狗,继承父类并且继承接口,海豚没腿所以只是继承父类

/*

* 猫类

*/

public class Cat extends Animal implements Terrestrial {

private int LegNum;

public Cat(){

}

public Cat(String name,int LegNum) {

super(name);

this.LegNum=LegNum;

}

public int getLegNum() {

return LegNum;

}

public void setLegNum(int legNum) {

LegNum = legNum;

}

public String shout() {

return "喵喵喵.......";

}

public int gerLegNum() {

return LegNum;

}

}

//狗

public class Dog extends Animal implements Terrestrial {

private int LegNum;

public Dog(){

}

public Dog(String name,int LegNum) {

super(name);

this.LegNum=LegNum;

}

public int getLegNum() {

return LegNum;

}

public void setLegNum(int legNum) {

LegNum = legNum;

}

public String shout() {

return "汪汪汪........ ";

}

@Override

public int gerLegNum() {

return LegNum;

}

}

//海豚类

public class Dolphin extends Animal {

private static int legNum=0;

public static int getLegNum() {

return legNum;

}

public static void setLegNum(int legNum) {

Dolphin.legNum = legNum;

}

public Dolphin(String name){

super(name);

}

public String shout() {

return "海豚叫.......";

}

}

/**

*下面我们在定义一个类,存放我们的数字,并且定义显示动物方法,修改方法

*/

import java.util.*;

public class AnimalMgr {

Scanner input=new Scanner(System.in);

Animal[] an=new Animal[3];

//初始化数据

int choose;//定义是否输入为零,退出

public void init(){//动物信息

//Animal[] an=new Animal[3];

an[0]=new Cat("加菲猫",4);

an[1]=new Dog("旺财",4);

an[2]=new Dolphin("海豚奇奇");

}

//展示所有动物的信息

public void showAnimals(){

System.out.println("动物名字"+"\t\t腿的条数:"+"\t\t动物叫");

for(int i=0;i

if(an[i] instanceof Cat){

Cat aa=(Cat)an[i];

System.out.println(aa.getName()+"\t\t"+aa.getLegNum()+"\t\t"+aa.shout());

}else if(an[i] instanceof Dog){

Dog bb=(Dog)an[i];

System.out.println(bb.getName()+"\t\t"+bb.getLegNum()+"\t\t"+bb.shout());

}else if(an[i] instanceof Dolphin){

Dolphin cc=(Dolphin)an[i];

System.out.println(cc.getName()+"\t\t"+cc.getLegNum()+"\t\t"+cc.shout());

}

}

System.out.println("是否要继续操作:按0进行修改操作,其它任意数字退出");

choose=input.nextInt();

}

//修改数据

public void ModifyAnimal() throws Exception {//自定义手动抛出异常

String[] names=new String[3];

int[] nums=new int[2];

System.out.println("请输入猫的名字:");

names[0]=input.next();

System.out.println("请输入猫的腿数:");

nums[0]=input.nextInt();

if(nums[0]!=4){

throw new Exception("猫只有四条腿");

}

System.out.println("请输入狗的名字:");

names[1]=input.next();

System.out.println("请输入狗的腿数:");

nums[1]=input.nextInt();

if(nums[1]!=4){

throw new Exception("狗只有四条腿");

}

System.out.println("请输入海豚的名字:");

names[2]=input.next();

//接受键盘输入的值

an[0]=new Cat(names[0],nums[0]);

an[1]=new Dog(names[1],nums[1]);

an[2]=new Dolphin(names[2]);

}

}

//最后建立一个测试的类,来显示给用户

import java.util.Scanner;

public class Test {

public static void main(String[] args){

AnimalMgr am=new AnimalMgr();

am.init();

//循环数据

do{

am.showAnimals();//显示数据

if(am.choose==0)

try {

am.ModifyAnimal();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}while(am.choose==0);

System.out.println("谢谢使用,退出程序!!");

}

}

有参考博客: https://blog.csdn.net/ruiguang21/article/details/52793839

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值