当前位置: 首页 > news >正文

站外推广网站白云网站建设公

站外推广网站,白云网站建设公,企业网站建设方案书 备案,培训网页设计机构工厂设计模式属于创意设计模式范畴。 创建设计模式提供了许多对象创建技术#xff0c;从而提高了代码的可重用性和灵活性。 工厂方法是一种创建对象而不指定其具体类的方法。 它以单个父类#xff08;抽象类或接口#xff09;定义对象的通用结构#xff0c;而子类提供实例…工厂设计模式属于创意设计模式范畴。 创建设计模式提供了许多对象创建技术从而提高了代码的可重用性和灵活性。 工厂方法是一种创建对象而不指定其具体类的方法。 它以单个父类抽象类或接口定义对象的通用结构而子类提供实例化对象的完整实现的方式提供抽象和多态性。 在Python中实现工厂方法 在下面的代码中abc是一个代表抽象基类的包我们从中导入了ABCMeta用于声明抽象类和abstractstaticmethod用于声明抽象静态方法。 我们定义了一个名为 Person 的通用抽象基类具有一个抽象静态方法 person_type()。 具体的派生类将实现此方法。 然后我们从 Person 定义了两个派生类分别名为 Student 和 Teacher。 这两个类都根据需要实现了抽象静态方法 person_type()。 我们声明了工厂方法 PersonFactory 负责在运行时根据用户的输入选择创建 Person 的对象学生或教师。 该类有一个静态方法 build_person()它将 person 类型作为参数并使用其名称学生姓名或教师姓名构造所需的对象。 示例代码 #Python 3.x from abc import ABCMeta, abstractstaticmethod class Person(metaclassABCMeta):abstractstaticmethoddef person_type():pass class Student(Person):def __init__(self, name):self.namenameprint(Student Created:, name)def person_type(self):print(Student) class Teacher(Person):def __init__(self, name):self.namenameprint(Teacher Created:, name)def person_type(self):print(Teacher) class PersonFactory:staticmethoddef build_person(person_type):if person_type Student:nameinput(Enter Students name: )return Student(name)if person_type Teacher:nameinput(Enter Teachers name: )return Teacher(name) if __name__ __main__:choiceinput(Enter the Person type to create: )objPersonFactory.build_person(choice)obj.person_type()输出: #Python 3.x Enter the Person type to create: Teacher Enter Teachers name: Jhon Teacher Created: Jhon TeacherPython 中工厂方法的优点 它促进代码中的松散耦合。可以很容易地修改代码以实例化具有稍微不同特征的新对象而不会干扰当前代码。它促进代码中的抽象和多态性。 Python 中工厂方法的缺点 我们只能在属于同一类别且特征略有不同的对象时使用它。工厂设计模式增加了代码中类的总数。它降低了代码的可读性因为由于抽象而隐藏了实现。
http://www.pierceye.com/news/156846/

相关文章:

  • 电子商务网站开发的任务书东莞seo关键词搜索关键词
  • 宁乡网站建设在哪小天才电话手表网站
  • 中文响应式网站搜搜网站提交
  • 华为官方网站手机商城首页大淘客网站商品做淘口令
  • 建站公司网站的关键词怎么设置
  • 上海二手房网站制作游戏需要什么技术
  • 湖州市城市建设档案馆网站电子商务网站怎么建
  • 网站超级外链做企业网站大约多少钱
  • 中国网站建设市场分析桂林公司网站搭建
  • 阿里云 企业网站选哪种洞窝app是谁开发的
  • ppt模板做的好的网站有哪些wordpress 多站点设置
  • ui作品集 网站怎么做网站制作加我
  • 自助做网站wordpress更换本地主题
  • 凡科网多页网站怎样做一线城市做网站工资有多少
  • .asp网站怎么做需要一个网站
  • 免费网站代码大全网站开发费入什么费用
  • 网站域名注册多少钱搜索引擎优化工具深圳
  • 学建设网站去哪里学建网站要大约多少钱
  • 网站正则表达式怎么做网站维护一般需要多久
  • 北京网站优化价格有没有做花卉种子的网站啊
  • 资源型网站建设 需要多大硬盘vi设计方案模板
  • 网站怎么做图片放映效果代码怎么生成网站
  • 怎么写代码做网站建投商务网官网
  • 江西那家做网站公司好各类网站建设
  • 做网站和服务器的大小有关吗it培训课程
  • 湖南网站建设公司 搜搜磐石网络网站推广模板
  • 网站是软件吗页网站设计
  • 网站服务器搭建及配置的具体步骤如果自己制作网站
  • 湖北餐饮网站建设做排版的网站
  • 广东省建设教育协会官方网站首页世界上最有趣的网站