python3.6
class PersonBuilder:
def buildhead(self):
pass
def buildbody(self):
pass
def buildarmleft(self):
pass
def buildarmright(self):
pass
def buildlegleft(self):
pass
def buildlegright(self):
pass
class ThinBuilder(PersonBuilder):
def buildhead(self):
print("thinhead")
def buildbody(self):
print("thinbody")
def buildarmleft(self):
print("thinarmleft")
def buildarmright(self):
print("thinarmright")
def buildlegleft(self):
print("thinlegleft")
def buildlegright(self):
print("thinlegright")
class FatBuilder(PersonBuilder):
def buildhead(self):
print("fathead")
def buildbody(self):
print("fatbody")
def buildarmleft(self):
print("thinarmleft")
def buildarmright(self):
print("fatarmright")
def buildlegleft(self):
print("fatlegleft")
def buildlegright(self):
print("fatlegright")
class PersonDirector:
def __init__(self, p):
self.p = p
def createperson(self):
self.p.buildhead()
self.p.buildbody()
self.p.buildarmleft()
self.p.buildarmright()
self.p.buildlegleft()
self.p.buildlegright()
if __name__ == "__main__":
p = ThinBuilder()
pt = PersonDirector(p)
pt.createperson()