Java程序设计-建造者模式

Java程序设计-建造者模式

用户实列类

public class User {
  public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
private String name;
  private  int  age;
  
}

用户建造抽象类

public abstract class UserBuilder {
    User user=new User();
    
    public abstract void buildName();
    
    public abstract void buildAge();
    
    public User getUser(){
        return user;
    }
}

新建服务类

public class Services {
  private UserBuilder userBuilder;

public UserBuilder getUserBuilder() {
	return userBuilder;
}

public void setUserBuilder(UserBuilder userBuilder) {
	this.userBuilder = userBuilder;
}

public  User construct()
{
	userBuilder.buildName();
	userBuilder.buildAge();
	return userBuilder.getUser();
}
}

新建类型UserB

public class UserA extends UserBuilder {

	@Override
	public void buildName() {
		user.setName("A");
		
	}

	@Override
	public void buildAge() {
		user.setAge(23);
	}

}

新建类型UserB

public class UserB extends UserBuilder {
	@Override
	public void buildName() {
		user.setName("B");
	}
	@Override
	public void buildAge() {
		user.setAge(24);	
	}
}

测试

	//建造者模式
    Services services=new Services();
       
      //用户A
      UserA userA=new UserA();
       
      //类型A
      services.setUserBuilder(userA);
       
     //获取用户类型
        User user= services.construct();
        
        System.out.print("用户A的组成部分:");
        System.out.println(user.getName()+"---"+user.getAge());
posted @ 2019-05-11 14:24  it_dog_zhang  阅读(86)  评论(0)    收藏  举报