大话设计模式-代理模式(大鸟和小菜Java版)
2021/6/18 12:26:54
本文主要是介绍大话设计模式-代理模式(大鸟和小菜Java版),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
代理模式:在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。
在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。
以上就是代理模式的简介
定义一个接口
package 设计模式.代理模式; //定义一个接口,接口里面有三个需要实现的方法 public interface GiveGirl { //这个是玩偶方法 public void giveDolls(); //这个是送花的方法 public void giveFlowers(); //这个是给电影票的方法 public void giveMovie(); }
我把被追求者类和追求者类写在一起了,下面的代码包含这两个类
package 设计模式.代理模式; //被追求者类 public class SGril { private String name; // 添加set和get方法 public void setName(String name) { this.name = name; } public String getName() { return name; } } //追求者类 和被追求者写在一块了 class Pursuit implements GiveGirl{ SGril mm; //有参构造方法 public Pursuit(SGril mm) { this.mm = mm; } //实现了接口,因此需要重写三个方法 @Override public void giveDolls() { System.out.println(mm.getName()+" 送你玩偶"); } @Override public void giveFlowers() { System.out.println(mm.getName()+" 送你花"); } @Override public void giveMovie() { System.out.println(mm.getName() + " 给你电影票"); } }
最后加上一个代理类,代替追求者向被追求者送东西
package 设计模式.代理模式; //代理类 public class Proxy implements GiveGirl{ // 把追求者类的变量先定义出来 Pursuit p; //一个构造方法,把被追求者对象传给new 出的追求者 public Proxy(SGril mm) { p = new Pursuit(mm); } //重写三个方法,到追求者类中调用 @Override public void giveDolls() { p.giveDolls(); } @Override public void giveFlowers() { p.giveFlowers(); } @Override public void giveMovie() { p.giveMovie(); } }
再加上一个测试主类
package 设计模式.代理模式; public class Test { public static void main(String[] args) { // 为被追求者类new一个对象 SGril jiaojiao = new SGril(); jiaojiao.setName("李娇娇"); // 为代理类new 一个对象 Proxy li = new Proxy(jiaojiao); li.giveDolls(); li.giveFlowers(); li.giveMovie(); } }
这个就是代理模式的代码实现,
参考大佬博客:https://blog.csdn.net/yixiang1989/article/details/38493543
这篇关于大话设计模式-代理模式(大鸟和小菜Java版)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南