Java
class House{private String roof;
..................
public House(Roof roof, Walls walls, Floors floors, Windows windows, Door door){
this.roof = roof,
....
...
}
}
class HouseBuilder extends Builder(){
private Roof roof = new DefaultRoof();
private Walls walls = new DefaultWalls();
private Floors floors = new Defaultfloors();
private Windows windows =new DefaultWindows();
private Door door = new DefaultDoor();
public HouseBuilder with(Roof roof){
this.roof = roof;
return this;
}
public HouseBuilder with(Walls walls)
this.walls = walls;
return this;
}
.......
.........
public HouseBuilder with(Door door){
this.door = door;
return this;
}
public House build(){
return new House(this.roof, ......., this.door);
}
}
C++
class House{public:
House(Roof roof; Walls walls,......Door door):
_roof(roof),_walls(walls),....,_door(door){};
private:
Roof _roof;
.....
}
class HouseBuilder:public Builder{
public:
HouseBuilder():_roof(Roof(Defalt)),....{};
HouseBuilder with(Roof roof){_roof = roof;};
..............
House build(){return House(.........)};
private:
Roof _roof;
..... }
No comments:
Post a Comment