代码:
/*
接口的应用--代理设计模式
*/
interface Network{
public void browse();//定义浏览的抽象方法
}
/*
真实的上网操作
*/
class Real implements Network{
@Override
public void browse() {
System.out.println("上网浏览信息...");
}
}
/*
代理上网操作
*/
class Proxy implements Network{
private Network network ;
public Proxy(Network network){//设置代理的真实操作
this.network = network;//设置代理的子类
}
/*
与上网相关的操作
*/
public void check(){
System.out.println("检查用户是否合法...");
}
@Override
public void browse() {
this.check();//可以同时调用多个与具体业务相关的操作
this.network.browse();//调用真实的上网操作
}
}
public class ProxyDemo {
public static void main(String[] args) {
//定义接口对象
Network net = null ;
//实例化代理同时传入代理的真实操作
net = new Proxy(new Real());
//客户只关心一个上网浏览功能
net.browse();
}
}
运行结果:
检查用户是否合法...
上网浏览信息...