写一个代理模式的简单的例子,帮你更理解这个模式。

概念什么的就不整了,直接上例子:

四个类:
A类:要被实现的接口
X类:实现A接口
Y类:代理实现类
Test类:测试

1.接口类A(目标类)`

`

public interface A {
		
		public void say();
	
	}

2.X类实现了A接口

public class X implements A{

	public void say() {
		System.out.println("X类实现了A接口");
	}

}

3.Y类(代理)

public class Y implements A{
    private X x;
	
	public Y(X x) {
		this.x = x;
	}
	
	//重写X类中的方法
	public void say() {
		//所谓的代理就是不但和你功能一样,还比你功能多,气不气
		System.out.println("比你多一个功能嗷");
		x.say();
		System.out.println("没想到吧,我又多一个功能嗷");
	}

}

4.Test

public class Test {
	public static void main(String[] args) {
		X x = new X();
		Y y = new Y(x);
		x.say();
		y.say();
	}
}

结果:

在这里插入图片描述

一个小例子,希望能帮助大家更深入理解到这个模式。
了解了基本代理模式后,就会想如果好多类需要代理,难道要每个类都去写一个代理,那样岂不是很浪费精力,还会造成代码的臃肿,动态代理的概念就由此而生。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值