静态代理模式:StaticProxy
代理对象和真是对象都要实现同一个接口
代理对象要代理真是角色
注意的是,静态代理的函数,随着传入参数不同,目标对象也就会调用不同的参数
package Lesson02;
/*
静态代理模式:StaticProxy
代理对象和真是对象都要实现同一个接口
代理对象要代理真是角色
*/
public class StaticProxy {
public static void main(String[] args) {
You you = new You();
My my = new My();
WedCompany wedCompany = new WedCompany(you);
WedCompany wedCompany2 = new WedCompany(my);
wedCompany.HappyMarry();
wedCompany2.HappyMarry();
}
}
//结婚接口
interface Marry{
public void HappyMarry();
}
//真是角色,你去结婚
class You implements Marry{
@Override
public void HappyMarry() {
System.out.println("我要结婚了,我很高兴!!!");
}
}
class My implements Marry{
@Override
public void HappyMarry() {
System.out.println("结婚的不是我,哭死!!!");
}
}
//婚庆公司,婚庆公司代理你把一些事情
class WedCompany implements Marry{
private Marry target;//结婚客户
@Override
public void HappyMarry() {
System.out.println("结婚之前,布置现场");
//这个就是真是对象,随着传入的参数不同,target不同调用不同对象的HappyMarry()
this.target.HappyMarry();
System.out.println("结婚之后,守尾款");
}
public WedCompany(Marry target) {
this.target = target;
}
}