4.在某游戏系统中,有猫、狗、猪三种动物。 三者都有吃的行为,建立一个动物类作为他们的父类,但是三种动物吃的行为都不相 同,猫吃老鼠、狗吃骨头、猪吃饲料。此外,在自身的特有行为中,猫可以抓老鼠,狗能看 家护院,猪特别擅长睡觉。其中这些行为在具体实现时,可以输出一句话即可。 (1)建立测试程序1,该程序有一个方法eatfunction( Animal a),根据传递进来的动物的 不同,分别调用他们的吃的行为和特有的行为 (2)建立测试程序2,定义一个ArrayList的链表对象,定义三个对象,分别是猫、狗、 猪,然后放置3个对象到该链表对象。循环该链表,取出每一一个,调用他们的公共行为和他 们各自的行为。
时间: 2023-05-27 20:06:51 浏览: 48
1 升级猜数字游戏; 2 编写一个猫类,并编写一类对该类进行测试和使用
1. 测试程序1:
public class Test1 {
public static void eatfunction(Animal a) {
a.eat();
if (a instanceof Cat) {
((Cat) a).catchMouse();
} else if (a instanceof Dog) {
((Dog) a).guard();
} else if (a instanceof Pig) {
((Pig) a).sleep();
}
}
public static void main(String[] args) {
Animal cat = new Cat();
Animal dog = new Dog();
Animal pig = new Pig();
eatfunction(cat);
eatfunction(dog);
eatfunction(pig);
}
}
2. 测试程序2:
import java.util.ArrayList;
public class Test2 {
public static void main(String[] args) {
ArrayList<Animal> list = new ArrayList<>();
list.add(new Cat());
list.add(new Dog());
list.add(new Pig());
for (Animal a : list) {
a.eat();
if (a instanceof Cat) {
((Cat) a).catchMouse();
} else if (a instanceof Dog) {
((Dog) a).guard();
} else if (a instanceof Pig) {
((Pig) a).sleep();
}
}
}
}
阅读全文