zoukankan      html  css  js  c++  java
  • 设计模式

    代理模式:

    1.真实角色

    2.代理角色:持有真实角色的引用

    3,两者实现相同的接口

    package test;
    
    public class Java静态代理 {
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Marry you =new You();
    		WeddingCompany company=new WeddingCompany(you);
    		company.marry();
    		
    	}
    
    }
    //接口
    	interface Marry{
    		public abstract void marry();//前面若没有修饰符默认为public abstract
    	}
    	//真实角色
    	class You implements Marry{
    
    		@Override
    		public void marry() {
    			// TODO Auto-generated method stub
    			System.out.println("you和某某某结婚");
    		}
    		
    	}
    	//代理角色
    	class WeddingCompany implements Marry{
    		//需要持有真实角色的引用
    		private Marry you;
    		
    		public WeddingCompany() {
    			super();
    		}//无参构造函数
    
    		public WeddingCompany(Marry you) {
    			super();
    			this.you = you;
    		}//带参数的构造函数
    
    		public void before(){
    			System.out.println("布置新房");
    		}
    		@Override
    		public void marry() {
    			// TODO Auto-generated method stub
    			before();
    			you.marry();
    			after();
    		}
    		public void after(){
    			System.out.println("闹伴娘");
    		}
    		
    	}
    
  • 相关阅读:
    BZOJ3689: 异或之
    BZOJ3166: [Heoi2013]Alo
    BZOJ3261: 最大异或和
    BZOJ3123: [Sdoi2013]森林
    BZOJ4520: [Cqoi2016]K远点对
    BZOJ2989: 数列
    BZOJ1941: [Sdoi2010]Hide and Seek
    BZOJ4066: 简单题
    BZOJ2648: SJY摆棋子
    KDtree模板(HDU4347)
  • 原文地址:https://www.cnblogs.com/tianhao/p/4191738.html
Copyright © 2011-2022 走看看