1.模板方法
具体过程交给子类实现,生产的方法由父类实现,例如产生一个手机经过硬件设计、软件设计、真机测试、发布四个环节,各个具体方法由子类实现。
public abstract class CreatePhone{
protected abstract void softwareDesign();
protected abstract void hardwareDesign();
protected abstract void wholeTest();
protected final void publish(){
softwareDesign();
hardwareDesign();
publish();
}
}
子类继承上面的父类方法,调用publish使用子类自身的三个具体事项方法。
2.设配器模式
public interface FiveVolt(){
int changeTo5();
}
public class Volt220{
public int getVolte220(){
return 220;
}
}
//1.类设配器模式
public class VoltAdapter extends Volt220 implements FiveVolt{
@Override
public int changeTo5(){
return 5;
}
}
//2.对象设配器模式
public class VoltAdapter implements FiveVolt{
private Volt220 volt220;
public VoltAdapter(Volt220 volt220){
this.volt220 = volt220;
}
@Override
public int changeTo5(){
return 5;
}
public getVolte220{
return volt220.getVolte220();
}
}