007.代理模式Proxy

一句话概括

        我能买米,  批发市场也能买米, 我通过批发市场买米

静态代理

    原始接口

public interface Movie {

    void play();
}

真正实现类

    @Override
    public void play() {
        System.out.println("你正在收看电影 《红太狼》");
    }
}

代理类

public class ProxyCinema implements  Movie {

    RealMovie movie;

    public ProxyCinema(RealMovie movie)
    {
        super();
        this.movie=movie;
    }


    @Override
    public void play() {
        Advertisement(true);
        movie.play();
        Advertisement(false);
    }

    private void Advertisement(boolean IsStart) {
        if(IsStart)
        {
            System.out.println("电影即将开始, 瓜子花生矿泉水,让一让");
        }
        else
        {
            System.out.println("电影结束, 最后一班供应啦");
        }

    }
}

测试类

public class ProxyTest {
    public  static  void main(String[] args)
    {
        RealMovie realMovie=new RealMovie();
        Movie movie=new ProxyCinema(realMovie);

        movie.play();
    }
}

结果

猜你喜欢

转载自blog.csdn.net/qq_32048015/article/details/88715542
今日推荐