public class Client {
public static void main(String[] args) {
Wang wang = new Wang();
wang.goTo(GUI_LIN);
wang.goTo(E_MEI);
wang.goTo(CHANG_CHUN);
}
}
public interface GoToStrategy {
void transportation();
}
public class GoToGuiLin implements GoToStrategy {
@Override
public void transportation() {
System.out.println("take my car");
}
}
public class GoToEMei implements GoToStrategy {
@Override
public void transportation() {
System.out.println("take train");
}
}
public class GoToChangChun implements GoToStrategy {
@Override
public void transportation() {
System.out.println("take plane");
}
}
public class Wang {
private GoToStrategy goToStrategy;
public void setGoToStrategy(GoToStrategy goToStrategy) {
this.goToStrategy = goToStrategy;
}
private void take() {
goToStrategy.transportation();
}
}
Wang wang = new Wang();
wang.setGoToStrategy(new GoToChangChun());
wang.take();
wang.setGoToStrategy(new GoToEMei());
public class GoToHaiNan implements GoToStrategy{
@Override
public void transportation() {
System.out.println("take ship");
}
}