Android设计模式:策略设计模式

2018-09-26  本文已影响0人  kjy_112233

(1)策略设计模式实现

public interface CalculateStrategy {
    int calculatePrice(int km);
}
public class BusCalculate implements CalculateStrategy {
    @Override
    public int calculatePrice(int km) {
        int busP = 2;
        if (km>5)
            busP = busP+km-5;
        return busP;
    }
}

public class SubwayCalculate implements CalculateStrategy {
    @Override
    public int calculatePrice(int km) {
        int subwayP=0;
        if (km<5)
            subwayP = 3;
        if (km>5&&km<=10)
            subwayP=4;
        if (km>10)
            subwayP=5;
        return subwayP;
    }
}

public class TaxiCalculate implements CalculateStrategy {
    @Override
    public int calculatePrice(int km) {
        return  2 * km;
    }
}
public class PriceCalculate {
   private  CalculateStrategy calculateStrategy;
    public void setCalculateStrategy(CalculateStrategy calculateStrategy){
        this.calculateStrategy = calculateStrategy;
    }

    public int getPrice(int km){
       return calculateStrategy.calculatePrice(km);
    }
}
        PriceCalculate priceCalculate = new PriceCalculate();
        priceCalculate.setCalculateStrategy(new SubwayCalculate());
        int price = priceCalculate.getPrice(10);
        System.out.println(price);

优点

缺点

上一篇 下一篇

猜你喜欢

热点阅读