当前位置:首页 > CN2资讯 > 正文内容

java代理类

13小时前CN2资讯


代理模式主要使用了java的多态,干活的是被代理类,代理类主要是接活,你让我干活,我交给

幕后的类去干,你满意就成,那怎么知道被代理类能不能干呢?同根就成,大家知根知底,你能

做啥,我能做啥都清楚,实现同一个接口。

接口类:KindWomen.java的代码如下:

Java代码  

  • package com.designPattern.proxy;  

  •   

  • /** 

  •  *  

  •  * @author yangjianzhou 

  •  * 这个代理模式是以潘金莲、西门庆、王婆这个故事为背景的。 

  •  * 王婆就是潘金莲的代理人 

  •  * 王婆知道潘金莲能做哪些事,不能做哪些事,要实现这一功能,就得让潘金莲 

  •  * 和王婆两个类实现同一接口。现在就定义这个接口 

  •  */  

  • public interface KindWomen {  

  •   

  •     /** 

  •      * 抛媚眼 

  •      */  

  •     public void makeEyesWithMan();  

  •       

  •     /** 

  •      * 。。。。 

  •      */  

  •     public void happyWithMan();  

  • }  



  • PanJinLian.java为接口的一个实现类,代码如下:

    Java代码  

  • package com.designPattern.proxy;  

  •   

  • public class PanJinLian implements KindWomen{  

  •   

  •     @Override  

  •     public void makeEyesWithMan() {  

  •         System.out.println("潘金莲抛媚眼");  

  •     }  

  •   

  •     @Override  

  •     public void happyWithMan() {  

  •         System.out.println("潘金莲和男人。。。。");  

  •     }  

  •   

  • }  



  • WangPo.java是接口的另一个实现类,也是代理类,代码如下:

    Java代码  

  • package com.designPattern.proxy;  

  •   

  • public class WangPo implements KindWomen{  

  •   

  •     private KindWomen kindWomen;  

  •   

  •     /** 

  •      * 让王婆成为潘金莲的代理人 

  •      */  

  •     public WangPo(){  

  •         this.kindWomen = new PanJinLian();  

  •     }  

  •   

  •     public WangPo(KindWomen kindWomen){  

  •         this.kindWomen = kindWomen;  

  •     }  

  •     @Override  

  •     public void makeEyesWithMan() {  

  •         this.kindWomen.makeEyesWithMan();  

  •     }  

  •   

  •     @Override  

  •     public void happyWithMan() {  

  •         this.kindWomen.happyWithMan();  

  •     }  

  •   

  • }  



  • XiMenQing.java的嗲吗如下:

    Java代码  

  • package com.designPattern.proxy;  

  •   

  • public class XiMenQing {  

  •       

  •     /** 

  •      * 西门庆是通过王婆和潘金莲勾搭上的 

  •      * 这里new 了一个王婆 

  •      * 并且通过王婆做了一些事 

  •      * @param args 

  •      */  

  •     public static void main(String[] args) {  

  •          WangPo wangPo = new WangPo();  

  •            

  •          wangPo.makeEyesWithMan();  

  •          wangPo.happyWithMan();  

  •     }  

  •   

  • }  



  • 运行结果如下:

    Java代码  

  • 潘金莲抛媚眼  

  • 潘金莲和男人。。。。 


    • 你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/24295.html

      分享给朋友:

      “java代理类” 的相关文章

      详细指南:如何进行Linux扩容以解决存储不足问题

      什么是Linux扩容? 在使用Linux操作系统时,随着数据的增加,我们常常面临磁盘空间不足的问题。Linux扩容就是通过添加新的磁盘、扩展现有磁盘容量或利用逻辑卷管理(LVM)等方式,来增加系统的存储空间。扩容可以帮助我更好地管理数据,提高服务器的运行效率。 我记得第一次接触扩容时,面对不断增加的...

      揭秘 cheapnat 优惠码的省钱技巧与使用攻略

      什么是 cheapnat 优惠码 我最近发现,cheapnat 优惠码成为了网络用户省钱的绝佳利器。它们通常是特定服务或产品的折扣代码,可以帮助用户在购买 VPS、域名注册或代理服务时享受不同程度的价格优惠。无论你是个人用户还是小型企业,合理利用这些优惠码都能帮你减少开支,同时享受到高质量的服务。...

      甲骨文云无法选择ARM架构的原因及解决方案

      在如今这个信息化的时代,云计算技术已经成为了各类企业和个人用户的重要工具。而甲骨文云服务器正是众多云服务中的一员,凭借其强大的计算能力和灵活的可扩展性,吸引了越来越多的用户。甲骨文云服务器为用户提供了一种高效、灵活的解决方案,让他们能够在不同的业务需求下,快速部署和管理自己的应用程序。 当谈到甲骨文...

      Windows SSH密钥登录:安装、配置及问题解决指南

      在现代计算环境中,SSH(Secure Shell)是一种重要的网络协议,它为安全远程登录提供了一种简便的解决方案。SSH允许用户通过不安全的网络访问远程计算机,确保数据传输过程中的安全性和完整性。对于那些需要远程连接服务器的用户来说,了解SSH的基本概念是非常必要的。 SSH不仅仅是一个远程登录工...

      如何在宝塔面板上安装和配置Node.js的详细指南

      宝塔面板是一个非常便捷的服务器管理工具,专为简化网站管理而设计。无论是网站的搭建,还是后期的维护,宝塔面板都能够提供一系列友好的功能和工具,使得用户即使没有专业的技术背景,也能轻松上手。它允许用户通过Web界面对服务器进行管理,安装软件和配置环境,简直就是一个“傻瓜式”的的操作平台。 谈到宝塔面板,...

      VPS建站:灵活、安全、高效的选择

      在网络世界中,VPS(虚拟专用服务器)建站是一种非常流行的选择。简单来说,VPS是一种将物理服务器划分为多个虚拟服务器的技术。这意味着你可以享受专用服务器的许多优点,同时又不会像独立服务器那样需要承担高昂的费用。个人或企业都可以利用VPS来构建网站,实现更大的自由度和灵活性。 使用VPS建站的最大优...