当前位置: 首页 > news >正文

代理模式(初学)

代理模式

一、什么是代理模式

  • 代理模式:为其他对象提供一种代理以控制对这个对象的访问

二、简单例子

在这里插入图片描述

  • 这里面的骏骏就起到了代理的身份,而贵贵则是被代理的身份。

三、代码实现

1、用一个接口(GivingGifts)来保存送礼物的动作

  • package java_proxy;/*** 这是送礼物的接口,要送礼物就要实现接口*/
    public interface GivingGifts {void sendingDolls();   //送玩偶void sendEarrings();   //送耳环void sendingFlowers(); //送鲜花
    }
    

2、航航的类

  • 属性用于保存姓名

  • public class Gril {public String name;public Gril(String nameString){this.name = nameString;}
    }
    

3、被代理类(贵贵)

  • /*** 贵贵*/
    public class Lmg implements GivingGifts{private Gril gril;   //要送东西的对象public Lmg(Gril gril) {this.gril = gril;  //通过构造器将要送东西的航航信息录进来}@Overridepublic void sendingDolls() {System.out.println("lmg送玩偶给"+gril.name);}@Overridepublic void sendEarrings() {System.out.println("lmg送耳环给"+gril.name);}@Overridepublic void sendingFlowers() {System.out.println("lmg送鲜花给"+gril.name);}}
    

4、代理类(骏骏)

  • /*** 代理类,代理lmg要做的事*/
    public class Zzj implements GivingGifts{private Lmg lmg;   public Zzj(Gril gril) {   //将航航的信息通过lmg的构造器导入进去,因为lmg这个类不声明lmg = new Lmg(gril);}@Overridepublic void sendingDolls() {lmg.sendingDolls();}@Overridepublic void sendEarrings() {lmg.sendEarrings();}@Overridepublic void sendingFlowers() {lmg.sendingFlowers();}}
    

5、测试代码

  • public class Main {public static void main(String[] args) {Gril lwh = new Gril("lwh");  //声明被送礼物的人的对象Zzj zzj = new Zzj(lwh);  //声明代理类的对象,并将对方信息导入zzj.sendingDolls();zzj.sendEarrings();zzj.sendingFlowers();}
    }
    
  • 在这里插入图片描述

http://www.lryc.cn/news/197741.html

相关文章:

  • Spring底层架构核心概念
  • 为什么高精度机器人普遍使用谐波减速器而不是普通减速器?
  • 特殊类的设计
  • HTTP 协议的基本格式(部分)
  • Android 第三方app https 抓包
  • Linux-gitlab常用命令
  • android 13.0 Settings主页动态显示和隐藏设置项(一级菜单显示和隐藏)
  • Android MJPEG播放器
  • Ubuntu - 安装 MySQL 8
  • 谷歌浏览器跨域及--disable-web-security无效解决办法
  • IT售前“楠“知识之这!就是售前-尚文网络xUP楠哥
  • JS元编程
  • 通过Gunicorn、Supervisor和Nginx更好地运行Django
  • [SQL] union all
  • Filebeat+Kafka+ELK日志分析架构
  • RK3568驱动指南|第六篇-平台总线-第55章 初识设备树
  • 【ELK 使用指南 1】ELK + Filebeat 分布式日志管理平台部署
  • Springboot高频应用注解
  • 面试总结分享:25道数据库测试题
  • 和硕首次参加展OCP 峰会,将发布多项AI合作项目产品 | 百能云芯
  • FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现 UDP 网络视频传输,提供工程和QT上位机源码加技术支持
  • 小程序setData动态传递key
  • boost Geometry
  • 凉鞋的 Unity 笔记 201. 第三轮循环:引入变量
  • 小魔推短视频裂变工具,如何帮助实体行业降本增效?
  • VBA技术资料MF71:查找所有空格并替换为固定字符
  • c++小知识
  • C#上位机序列9: 批量读写+事件广播
  • ARM +FPGA GPIB IP核实现
  • 有消息称苹果Vision Pro会有廉价版