实现静态代理的方式

实现 步骤:
1.创建接口,定义方法,表示目标和代理要做的事情。

package com.itweiting.service;
public interface ThreeSquirrelSell {
     //定义方法 参数amount表示一次购买的数量
     //返回值表示优盘的价格
         float sell(int amount);
     //可以定义多个方法
}

2.创建目标类,实现接口

package com.itweiting.factory;
import com.itweiting.service.ThreeSquirrelSell;
public class ThreeSquirrelFactory implements ThreeSquirrelSell{
    //目标类,厂家,厂家不接受用户的单独购买
    public float sell(int amount) {
        //一包零食的价格
        //后期根据amount数量进行调整价格,例如一箱零食100元,买两箱零食每箱90元
        return 100.0f;
    }
}

3.创建代理,实现接口(实现了功能的增强)

package com.itweiting.shangjia;
import com.itweiting.factory.ThreeSquirrelFactory;
import com.itweiting.service.ThreeSquirrelSell;
//淘宝进行代理销售,
public class Taobao implements ThreeSquirrelSell {


    //声明商家代理的厂家是谁
    private ThreeSquirrelFactory factory=new ThreeSquirrelFactory();
    //实现销售的功能
    public float sell(int amount) {
        //向厂家发送订单,提醒厂家进行发货
        float price = factory.sell(amount);
        /*功能增强*/
        //商家进行加价,(即代理进行后期的加价)
        //代理类完成了目标类的方法调用后增加了其他功能(比如增减价格)
        price = price+25;
        //优惠
        System.out.println(price-20);
        //返回增加价格后的商品价格
        return price;
    }
}

4.创建客户端类,调用代理进行一个操作。

package com.itweiting;
import com.itweiting.shangjia.Taobao;
public class ShopMain {
    public static void main(String[] args) {
        //创建淘宝的代理对象
        Taobao taobao =new Taobao();
        float price=taobao.sell(1);
        System.out.println(price);
    }
}

代理类完成的功能: 1.目标类方法的调用 2.实现功能的增强


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值