练习愤怒的小鸟(抽象类、多态、重写)

代码如下:

//小鸟类:

public abstract class Bird {
    //小鸟会飞,但是不同颜色的鸟飞行方式不一样
    public abstract void fly();

}


//BlueBird类:

/*
 * 蓝冰:蓝色小鸟,飞行方式:分成3个
 */

public class BlueBird extends Bird {
    //重写抽象方法
    @Override
    public void fly() {
        System.out.println("蓝冰,飞行过程可以一变三");
    }
}


//RedBird类:

/*
 * 红火:红色小鸟,飞行方式:正常,
 */
public class RedBird extends Bird {
    //重写抽象方法
    @Override
    public void fly() {
        System.out.println("红色的小鸟,正常飞行");
    }

}


//YellowBird类:

/*
 * 黄风:黄色小鸟,飞行方式:加速
 */
public class YellowBird extends Bird {
    //重写抽象方法
    @Override
    public void fly() {
        System.out.println("黄风,可以加速飞行");
    }

}


//Slingshot类:

/*
 * 弹弓类:有一个发射方法,将小鸟弹出去
 */
public class Slingshot {
    public void shot(Bird bird) {
        bird.fly();
    }

}


//测试Demo类:

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);
    }
}

相关文章: