策略设计模式

策略设计模式:把可变的行为抽象出来,形成一个算法簇,这样可以让我们的应用更利于变化,可以根据用户的要求而变化。

//定义一个付款方式的接口

interface PayStyle{
void price();
}

//非会员实现付款方式接口

class FeiPay implements PayStyle{
@Override
public void price() {
System.out.println("全额");
}
}

//普通会员实现付款方式接口

class PBPay implements PayStyle{
@Override
public void price() {
System.out.println("8折");
}
}

//高级会员实现付款方式接口

class GJPay implements PayStyle{
@Override
public void price() {
System.out.println("5折");
}

}

//顾客类有一个设置付款方式的方法,传进来付款方式的接口,用一个接口类型的引用指向传进来的已实现接口的对象。

//然后将已实现接口的方法在顾客类中用pay方法封装起来。

class Customer{
PayStyle pStyle;
public void setPayStyle(PayStyle ps) {
this.pStyle = ps;
}
void pay(){
pStyle.price();
}
}

//测试类

public class CeLueMode {

public static void main(String[] args) {
GJPay gjPay = new GJPay();
PBPay pbPay = new PBPay();
FeiPay feiPay = new FeiPay();
Customer customer = new Customer();
customer.setPayStyle(feiPay);
customer.pay();;
}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值