代理模式----结构型模式
静态代理:

思路:歌星会唱歌和收费,经济人是歌手的代理人(代理模式)经济人让歌手唱歌,经济人负责收费。
/**
* 歌星
*
*/
public interface Star
{
public void sing();//唱歌
public void mony();//收费
}
/**
* 真实的歌手
*/
public class RealStar implements Star
{
@Override
public void sing()
{
System.out.println("歌手唱歌");
}
@Override
public void mony()
{
System.out.println("歌手收费");
}
}
代理类:
/**
* 歌手的经纪人
*/
public class RealStarProxy implements Star
{
//具体的歌手
private RealStar realStar;
//代理歌手
public RealStarProxy( RealStar realStar)
{
this.realStar = realStar;
}
@Override
public void sing()
{
//歌手唱歌
realStar.sing();
}
@Override
public void mony()
{
System.out.println("经纪人收费");
}
}
测试:
public class Demo
{
public static void main(String[] args)
{
RealStar realStar = new RealStar();//创建歌手对象
RealStarProxy proxy = new RealStarProxy(realStar);//代理对象代理歌手
proxy.mony();//经纪人收费
proxy.sing();//歌手唱歌
}
}
浙公网安备 33010602011771号