题目如下:
1、定义抽象类Animal,定义两个行为吃eat()和移动move();
2、通过继承实现类猫Cat、类狗Dog、类鸟Bird、猎鹰Falcon;
2.1 eat():猫输出“吃鱼。”,狗输出“吃骨头。”,鸟输出“吃虫子。 ”,猎鹰输出“吃蛇。”
2.2 move():猫输出“跳。”, 狗输出“跑。”, 鸟输出“飞。”, 猎鹰输出“飞很高”
3、定义IPet接口,定义行为Play();
4、实现类PetDog, PetCat, PetRobot;
4.1 Play的行为PetDog输出“叼飞盘”,PetCat,输出“撸撸猫”,PetRobot, 输出“编程玩吧”
4.2为类PetDog, PetCat添加名 字属性Name,以及get name和set name方法
5、生成测试类Stage, 在测试类中生成3只狗,2只猫,1只猎鹰, 1只鸟,1只宠物狗,1只宠物猫,1只机器宠物;
5.1为宠物猫和宠物狗取名
5.2生成动物列表,让所有动物吃东西eat(),移动move()
5.3生成宠物列表,让所有宠物玩play(),输出中加入宠物名字
代码如下:
import java.util.*;
abstract class Animal{
public abstract void eat();
public abstract void move();
}
class Cat extends Animal{
public void eat(){
System.out.println("吃鱼");
}
public void move() {
System.out.println("跳");
}
}
class Dog extends Animal{
public void eat(){
System.out.println("吃骨头");
}
public void move() {
System.out.println("跑");
}
}
class Bird extends Animal{
public void eat(){
System.out.println("吃虫子");
}
public void move() {
System.out.println("飞");
}
}
class Falcon extends Animal{
public void eat(){
System.out.println("吃蛇");
}
public void move() {
System.out.println("飞很高");
}
}
interface IPet{
public void Play();
}
class PetCat extends Cat implements IPet{
private String Name;
public String get_name() {
return Name;
}
void set_name(String name) {
Name=name;
}
public void Play() {
System.out.println("撸撸猫");
}
}
class PetDog extends Dog implements IPet{
private String Name;
public String get_name() {
return Name;
}
void set_name(String name) {
Name=name;
}
public void Play() {
System.out.println("叼飞盘");
}
}
class PetRobot implements IPet{
private String Name;
PetRobot(String name){
Name=name;
}
public String get_name() {
return Name;
}
void set_name(String name) {
Name=name;
}
public void Play() {
System.out.println("编程玩吧");
}
}
public class Stage {
public static void main(String a[]) {
List<Animal>animalList=new ArrayList<Animal>();
for(int i=0;i<3;i++) {
animalList.add(new Dog());
}
for(int i=0;i<2;i++) {
animalList.add(new Cat());
}
animalList.add(new Bird());
animalList.add(new Falcon());
PetDog petdog=new PetDog();
PetCat petcat=new PetCat();
PetRobot petrobot=new PetRobot("机器宠物");
petdog.set_name("旺财");
petcat.set_name("坚果");
animalList.add(petdog);
animalList.add(petcat);
List<IPet>petList=new ArrayList<IPet>();
petList.add(petdog);
petList.add(petcat);
for(Animal e:animalList) {
e.eat();
e.move();
}
System.out.println(petdog.get_name());
petdog.Play();
System.out.println(petcat.get_name());
petcat.Play();
System.out.println(petrobot.get_name());
petrobot.Play();
}
}
运行效果如下:
本次记录就到这。