今年过年手气好,打牌赢了100块,我得意的笑,我得意的笑,总之一个字“爽”。因为往年打牌从没赢过啊!我高兴的回到家里,还没等我开口报告战况,老婆撂给我一句话“我弟要回上海,你给买张票吧。”我心里虽然不高兴,但脸上却表现出很开心的样子,立刻用坚定语气说到:“请领导放心,保证完成任务!”。保证归保证,可是大过年的票也确实难买,在经过一番挫折后(呜呜),我只好去找票贩子(Proxy)。 
            说到代理这个词,大家可能都不陌生,其实现在社会上的好多中介也可以理解成为代理,说白了就是帮你办事,拿中介费而已。 
            1、在这里,先把买票这个活动定义成一个接口(BuyTicket)类: 
            public interface BuyTicket { 
             public void buyTicket(); 
            } 
            2、下面我们要对这两个接口进行实现 
            A:正常情况下的买票活动(NormalBuyTicket)类: 
            public class NormalBuyTicket implements BuyTicket{ 
             public void buyTicket(){ 
             System.out.println("买火车票!"); 
             } 
            } 
            B:代理情况下的买票活动(ProxyBuyTicket)类: 
            //当不能直接访问NormalBuyTicket对象时,必须要用代理对象 
            public class ProxyBuyTicket implements BuyTicket{ 
             private NormalBuyTicket normalBuyTicket; 
             public void buyTicket(){ 
             if(normalBuyTicket==null){ 
             normalBuyTicket = new NormalBuyTicket(); 
             } 
             normalBuyTicket.buyTicket();  
             getMoney(); 
             } 
             public void getMoney(){ 
             System.out.println("获得代理费!"); 
             } 
            } 
            3、编写测试类: 
            public class Test { 
             public static void main(String args[]){ 
             BuyTicket buyTicket = new ProxyBuyTicket(); 
             buyTicket.buyTicket(); 
             } 
            }  
            4、说明: 
            A:定义:为其他对象提供一种代理以控制对这个对象的访问。也就是说当我们不能直接访问我们想访问的对象时,必须通过一个代理对象来访问。 
            B:在本例中,我想买票,但当我直接买不到票时,就只好通过票贩子来买,这个道理应该谁都知道啊。 
            5、后记: 
            最终通过票贩子,我获得了去上海的票,老婆很高兴,还说我很能干,但是我付出了100元的代理费,我到底该哭还是该笑呢,但又想一下:“花100元让老婆表扬我,说我很能干,也不错啊,你说呢!嘿嘿”。 
              
            
               
             |