跪求java大神帮忙,在线等答案!!!今晚就要交了!!!
程序要求:编写一个动物园生态系统,例如海陆空三类动物·,每类动物有各自的图形代表(比如三角,方块,圆)以及各自活动范围,他们会跟着自己的头领一起活动并保持相同距离(例如一...
程序要求:编写一个动物园生态系统,例如海陆空三类动物·,每类动物有各自的图形代表(比如三角,方块,圆)以及各自活动范围,他们会跟着自己的头领一起活动并保持相同距离(例如一个大三角带着几个小三角),只要到达边界(海岸线或边框)则回头,这样一直运动一下去。要求有类的继承,接口,抽象类。
展开
展开全部
下面是代码,自己亲手敲的,测试方法没有写,你可以自己写下,我仅仅具体化了一个Bird对象,就是FatherBird和SonBird,你也可以具体化其他海中或者大陆上的动物...
/*
* 定义一个抽象的动物类,其他动物需要继承它,实现它的图形代表方法
*/
public abstract class Animal {
abstract void graphStand();
}
/*
* 接口记录动物们的动作反应
*/
public interface AnimalRespond {
public void keepSameDistance();
public void accessBoundary();
}
/**
*海洋中的动物
*/
public class OceanAnimal extends Animal implements AnimalRespond{
public void graphStand() {
System.out.println("这是海洋中的动物,它是由一个三角代表");
}
public void keepSameDistance() {
System.out.println("海洋动物保持距离");
}
public void accessBoundary() {
System.out.println("海洋动物到达边界,回头");
}
}
/*
* 空中动物
*/
public class SkyAnimal extends Animal implements AnimalRespond {
public void graphStand() {
System.out.println("这是空中的动物,它是由一个圆代表");
}
public void keepSameDistance() {
System.out.println("空中动物保持距离");
}
public void accessBoundary() {
System.out.println("空中动物到达边界,回头");
}
}
/*
* 大陆动物
*/
public class MainlandAnimal extends Animal implements AnimalRespond {
public void graphStand() {
System.out.println("这是大陆中的动物,它是由一个方块代表");
}
public void keepSameDistance() {
System.out.println("大陆动物保持距离");
}
public void accessBoundary() {
System.out.println("大陆动物到达边界,回头");
}
}
/**
* 这里的Bird是空中动物的一个代表可以是大雁可以是麻雀等等,如果他们有特殊的方法,值得肯定的是用接口来完成
*/
public class FatherBird extends SkyAnimal {
public void graphStand() {
super.graphStand();
}
public void keepSameDistance() {
super.keepSameDistance();
}
public void accessBoundary() {
super.accessBoundary();
}
}
public class SonBird extends FatherBird{
public void graphStand() {
super.graphStand();
}
public void keepSameDistance() {
super.keepSameDistance();
}
public void accessBoundary() {
super.accessBoundary();
}
}
/*
* SonBird仅仅作为一个子类来呈现,如果小鸟有特殊的方法,用接口实现
*/
public class SonBird extends FatherBird{
public void graphStand() {
super.graphStand();
}
public void keepSameDistance() {
super.keepSameDistance();
}
public void accessBoundary() {
super.accessBoundary();
}
}
如果需要测试方法,也可以写写。
/*
* 定义一个抽象的动物类,其他动物需要继承它,实现它的图形代表方法
*/
public abstract class Animal {
abstract void graphStand();
}
/*
* 接口记录动物们的动作反应
*/
public interface AnimalRespond {
public void keepSameDistance();
public void accessBoundary();
}
/**
*海洋中的动物
*/
public class OceanAnimal extends Animal implements AnimalRespond{
public void graphStand() {
System.out.println("这是海洋中的动物,它是由一个三角代表");
}
public void keepSameDistance() {
System.out.println("海洋动物保持距离");
}
public void accessBoundary() {
System.out.println("海洋动物到达边界,回头");
}
}
/*
* 空中动物
*/
public class SkyAnimal extends Animal implements AnimalRespond {
public void graphStand() {
System.out.println("这是空中的动物,它是由一个圆代表");
}
public void keepSameDistance() {
System.out.println("空中动物保持距离");
}
public void accessBoundary() {
System.out.println("空中动物到达边界,回头");
}
}
/*
* 大陆动物
*/
public class MainlandAnimal extends Animal implements AnimalRespond {
public void graphStand() {
System.out.println("这是大陆中的动物,它是由一个方块代表");
}
public void keepSameDistance() {
System.out.println("大陆动物保持距离");
}
public void accessBoundary() {
System.out.println("大陆动物到达边界,回头");
}
}
/**
* 这里的Bird是空中动物的一个代表可以是大雁可以是麻雀等等,如果他们有特殊的方法,值得肯定的是用接口来完成
*/
public class FatherBird extends SkyAnimal {
public void graphStand() {
super.graphStand();
}
public void keepSameDistance() {
super.keepSameDistance();
}
public void accessBoundary() {
super.accessBoundary();
}
}
public class SonBird extends FatherBird{
public void graphStand() {
super.graphStand();
}
public void keepSameDistance() {
super.keepSameDistance();
}
public void accessBoundary() {
super.accessBoundary();
}
}
/*
* SonBird仅仅作为一个子类来呈现,如果小鸟有特殊的方法,用接口实现
*/
public class SonBird extends FatherBird{
public void graphStand() {
super.graphStand();
}
public void keepSameDistance() {
super.keepSameDistance();
}
public void accessBoundary() {
super.accessBoundary();
}
}
如果需要测试方法,也可以写写。
追问
真是太感谢了!不知能否帮忙写下测试方法?
追答
测试写出来了,我私信你了,这边装不下。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询