策略模式:分别封装行为接口,实现算法组,超类里放行为接口对象,在子类里具体设定行为对象。原则就是:分离变化部分,封装接口,基于接口编程各种功能。此模式让行为算法的变化独立于算法的使用者。

策略模式注意点:1)分析项目中变化部分与不变部分;2)多用组合少用继承;用行为类组合,而不是行为的继承更有弹性。

鸭子游戏项目设计思路

一般设计是分析鸭子类别,把相同的放在抽象超类中实现,不同的在抽象超类中定义为抽象方法,然后不同的鸭子继承抽象超类,实现抽象方法

public abstract class Duck {

    public Duck() {

    }

    //鸭子都是一样的叫声
    public void quack() {
        System.out.println("~~gaga~~");
    }

    //鸭子都会游泳
    public void swim() {
        System.out.println("~~im swim~~");
    }

    //鸭子长相不一样
    public abstract void display();

}
abstract duck

相关文章: