zoukankan      html  css  js  c++  java
  • BuilderParttern(建造者模式)

    /**
     * 建造者模式
     * 主要用于构造复杂的对象
     * 在优朋播放器就是采用建造者构建的,可以说比较有心得吧
     * @author TMAC-J
     *
     */
    public class BuilderPattern {
    	/**
    	 * 要构建的对象bean
    	 * @author voole
    	 *
    	 */
    	public class Person{
    		
    		private String sex;
    		
    		private String height;
    		
    		private String weight;
    		
    		private String hobby;
    
    		public String getSex() {
    			return sex;
    		}
    
    		public void setSex(String sex) {
    			this.sex = sex;
    		}
    
    		public String getHeight() {
    			return height;
    		}
    
    		public void setHeight(String height) {
    			this.height = height;
    		}
    
    		public String getWeight() {
    			return weight;
    		}
    
    		public void setWeight(String weight) {
    			this.weight = weight;
    		}
    
    		public String getHobby() {
    			return hobby;
    		}
    
    		public void setHobby(String hobby) {
    			this.hobby = hobby;
    		}
    	}
    	
    	interface IBuilder{
    		
    		void buildSex(String fale);
    		
    		void buildHegith(String height);
    		
    		void buildWeight(String weight);
    		
    		void buildHobby(String hobby);
    		
    		Person buildPerson();
    	}
    	
    	public class PersonBuilder implements IBuilder{
    		
    		Person person;
    		
    		public PersonBuilder() {
    			person = new Person();
    		}
    
    		@Override
    		public void buildSex(String fale) {
    			person.setSex(fale);
    		}
    
    		@Override
    		public void buildHegith(String height) {
    			person.setHeight(height);
    		}
    
    		@Override
    		public void buildWeight(String weight) {
    			person.setWeight(weight);
    		}
    
    		@Override
    		public void buildHobby(String hobby) {
    			person.setHobby(hobby);
    		}
    
    		@Override
    		public Person buildPerson() {
    			return person;
    		}
    		
    	}
    	
    	public void test(){
    		IBuilder personBuilder = new PersonBuilder();
    		personBuilder.buildHegith("我柯一米五!!!");
    		//后面同上
    	}
    	
    }
    

      

  • 相关阅读:
    nanoPI kernel compile record
    Golang go get第三方库的坑
    Python解析Linux命令行
    Linux:dd命令
    Golang异常处理
    Golang自定义包导入
    Golang覆盖写入文件的小坑
    Golang数据类型总结及其转换
    ASP.NET学习之页面传值(8)_Application传值
    ASP.NET学习之页面传值(7)_Cookie传值
  • 原文地址:https://www.cnblogs.com/yzjT-mac/p/6226976.html
Copyright © 2011-2022 走看看