实现愤怒的小鸟:我们有很多种小鸟(Bird类),每种小鸟都有飞的行为(fly()方法),还有一个弹弓(Slingshot类),弹弓有一个弹射的行为(shot()方法:调用fly()方法)

实现愤怒的小鸟:我们有很多种小鸟(Bird类),每种小鸟都有飞的行为(fly()方法),还有一个弹弓(Slingshot类),弹弓有一个弹射的行为(shot()方法:调用fly()方法),弹射时把小鸟弹出去,之后小鸟使用自己飞行的行为飞向小猪(不要求编写小猪的代码)。不同种类的小鸟有不同飞行的方式:

(1)红火(RedBird类):红色小鸟,飞行方式:正常(例如:System.out.println(“正常的飞翔”));

(2)蓝冰(BlueBird类):蓝色小鸟,飞行方式:变成3个小鸟一起飞;

(3)黄风(YellowBird类):黄色小鸟,飞行方式:加速飞翔;

提示:(1)用类与接口之间的继承来实现;(2)接口:fly()方法。

public abstract class Bird {
    public abstract void fly();

}

public class RedBird extends Bird {
    public void fly() {
        System.out.println("正常的飞翔");
    }

}

public class BlueBird extends Bird {
    public void fly() {
        System.out.println("变成3个小鸟一起飞");
    }
}

public class YellowBird extends Bird {
    public void fly() {
        System.out.println("加速飞翔");
    }

}

public class Slingshot {
    public void shot(Bird bird) {
        bird.fly();
    }

}

public class Demo {
    public static void main(String[] args) {
        //创建一个弹弓
        Slingshot slingshot=new Slingshot();
        //创建红,黄,蓝鸟
        RedBird redBird=new RedBird();
        BlueBird blueBird=new BlueBird();
        YellowBird yellowBird=new YellowBird();
        slingshot.shot(redBird);
        slingshot.shot(blueBird);
        slingshot.shot(yellowBird);
    }
}

你可能感兴趣的:(日常作业)