zoukankan      html  css  js  c++  java
  • Python_建造者模式

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    
    #建造者基类
    class PersonBuilder():
        def BuildHead(self):
            pass
    
        def BuildBody(self):
            pass
    
        def BuildArm(self):
            pass
    
        def BuildLeg(self):
            pass
    
    #胖子
    class PersonFatBuilder(PersonBuilder):
        type = u'胖子'
        def BuildHead(self):
            print u'构建%s的头' % self.type
    
        def BuildBody(self):
            print u'构建%s的身体' % self.type
    
        def BuildArm(self):
            print u'构建%s的手' % self.type
    
        def BuildLeg(self):
            print u'构建%s的脚' % self.type
    
    
    #瘦子
    class PersonThinBuilder(PersonBuilder):
        type = u'瘦子'
        def BuildHead(self):
            print u'构建%s的头' % self.type
    
        def BuildBody(self):
            print u'构建%s的身体' % self.type
    
        def BuildArm(self):
            print u'构建%s的手' % self.type
    
        def BuildLeg(self):
            print u'构建%s的脚' % self.type
    
    #指挥者
    class PersonDirector():
        pb = None;
        def __init__(self, pb):
            self.pb = pb
    
        def CreatePereson(self):
            self.pb.BuildHead()
            self.pb.BuildBody()
            self.pb.BuildArm()
            self.pb.BuildLeg()
    
    def clientUI():
        pb = PersonThinBuilder()
        pd = PersonDirector(pb)
        pd.CreatePereson()
    
        pb = PersonFatBuilder()
        pd = PersonDirector(pb)
        pd.CreatePereson()
        return
    
    if __name__ == '__main__':
        clientUI();
    
  • 相关阅读:
    css 写一个三角形
    vue 知识汇总,中级阶段的。
    获取url参数封装的
    vue 知识点
    不换行css
    微信小程序的横向滚动
    git提交本地分支到远程分支
    linux shell head tail 用法简介
    PHP服务重启
    MongoDB用户创建
  • 原文地址:https://www.cnblogs.com/zxlovenet/p/4073782.html
Copyright © 2011-2022 走看看