设计模式之 静态代理

 1 public class Test_5 {
 2     public static void main(String[] args) {
 3         you u=new you();
 4 //        u.happyMarry();
 5         new weddingCompany(u).happyMarry();
 6     }
 7 }
 8 //真实对象:你
 9 class you implements marry{
10     @Override
11     public void happyMarry() {
12         System.out.println("你结婚啦~~~~");
13     }
14 }
15 // 代理对象,婚庆公司
16 class weddingCompany implements marry{
17     private you u;  //代理对象需要一个真实对象
18     public weddingCompany(you u) {
19         this.u = u;
20     }
21     @Override
22     public void happyMarry() {
23         before();
24         u.happyMarry();
25         after();
26     }
27     public void before(){
28         System.out.println("布置婚礼");
29     }
30     public void after(){
31         System.out.println("给钱~~~");
32     }
33 }
34 // 共同接口:结婚
35 interface marry{
36     void happyMarry();
37 }

1.描述上述用例:真实对象:你;代理对象:婚庆公司;共同接口:结婚。意义:你在结婚的时候需要委托婚庆公司来辅助你更好地完成结婚这件事。 

静态代理:需要一个真实对象,一个代理对象,两对象对应的类实现同一个接口。在代理类中真实对象作为属性放在其中。

posted @ 2019-06-01 23:46  德鲁大叔817  阅读(115)  评论(0编辑  收藏  举报