用大白话说就是,将一个接口或者一个抽象类作为另外一个函数的参数,这种编程方式就是策略模式。
举个简单的策略模式的例子,客户端向画画,传入不同图案的参数,就会显示不同的图案。
代码如下:
package celue;
public abstract class Picture {
public abstract void draw();
}
package celue;
public class Circle extends Picture{
public void draw() {
// TODO Auto-generated method stub
System.out.println("I am circle");
}
}
package celue;
public class Square extends Picture{
public void draw() {
// TODO Auto-generated method stub
System.out.println("I am square");
}
}
package celue;
public class Client {
public void drawPicture(Picture p){
p.draw();
}
public static void main(String[] args){
Picture p=new Circle();
Client c=new Client();
c.drawPicture(p);
}
}