实现愤怒的小鸟:我们有很多种小鸟(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);
}
}