public class Builder {
/**
* @param args 建造者模式
*/
private PersonBuilder pBuilder;
public Builder (PersonBuilder pBuilder) {
this.pBuilder=pBuilder;
}
public void creat() {
pBuilder.builda();
pBuilder.buileb();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
PersonA a=new PersonA(3, 4);
Builder facade=new Builder(a);
facade.creat();
}
}
abstract class PersonBuilder{
protected int a;
protected int b;
public PersonBuilder (int a,int b) {
this.a=a;
this.b=b;
}
public abstract void builda();
public abstract void buileb();
}
class PersonA extends PersonBuilder{
public PersonA(int a, int b) {
super(a, b);
// TODO Auto-generated constructor stub
}
@Override
public void builda() {
System.out.println("aaaaa");
}
@Override
public void buileb() {
// TODO Auto-generated method stub
System.out.println("bbbb");
}
}
class PersonB extends PersonBuilder{
public PersonB(int a, int b) {
super(a, b);
// TODO Auto-generated constructor stub
}
@Override
public void builda() {
System.out.println("aaaaa2");
}
@Override
public void buileb() {
// TODO Auto-generated method stub
System.out.println("bbbb2");
}
}