1、策略模式 ---其功能有点类似于方法的重载
定义一系列的算法,把他们一个个封装起来,并且使他们可以相互替换,本模式使得算法可独立于使用他的客户而变化。
实例一
public interface CountryTax {
public float taxValue(float old);
}
public class ChinaTax implements CountryTax {
@Override
public float taxValue(final float old) {
return (float) (old * 1.2);
}
}
public class JapanTax implements CountryTax {
@Override
public float taxValue(final float old) {
return (float) (old * 0.2);
}
}
模拟调用:
public static void main(final String[] args) {
final CountryTax tax = new ChinaTax();
final float naw = tax.taxValue(100F);
System.out.println(naw);
final CountryTax tax1 = new JapanTax();
final float naw1 = tax1.taxValue(100F);
System.out.println(naw1);
}