package Fill.vice.test;
import java.util.Date;
//策略设计模式
//面向接口编程
/**
*
* @author liufeihong
*oo编程原则:
*a.面向接口编程
*b.封装变化
*c.多用组合,少用继承
*/
public class TestDemo {
public static void main(String[] args) {
B b=new B();
C c=new C();
A a=new A("雪儿");
a.setIsay(b);
a.say();
a.setIsay(c);
a.say();
}
}
interface Isay{
public void say();
}
class A{
private String name;
private Isay isay;//把接口作为类的一个属性。实现两者关联
//把可变的行为抽象出来,定义成接口.
public void setIsay(Isay isay){
this.isay=isay;
}
public A(String name){
this.name=name;
}
//本方法的实现是变化的所以它的子类会很多
public void say(){
isay.say();
}
}
class B implements Isay{
public void say(){
System.out.println("写在前面");
}
}
class C implements Isay{
public void say(){
System.out.println("写在后面");
}
}
java 策略设计模式
最新推荐文章于 2021-02-25 01:19:10 发布