class B(object):
"""
自带建造者的 流畅的建造者模式
特点:
建造类位于 被建造类内部()
每一次build设置后会返回以个建造对象,以便于下次再次建造
可以使用 builder_obj.builderXXX().builderXXX().builderXXX().build()
直接返回对象
build函数 创建 被建造对象类的实例
被建造类构造函数包含建造者实例(引用其内部信息)
"""
def __init__(self, builder):
self.a = builder.a
self.b = builder.b
self.c = builder.c
class Builder(object):
a = ""
b = ""
c = ""
def __init__(self):
pass
def build_a(self, a):
self.a = a
return self
def build_b(self, b):
self.b = b
return self
def build_c(self, c):
self.c = c
return self
def build(self):
return B(self)
if __name__ == "__main__":
b = B.Builder().build_a("a").build_b("b").build_c("c").build()
print b, type(b), b.a
转载请注明原文地址: https://ju.6miu.com/read-14104.html