最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python的抽象工厂模式

来源:动视网 责编:小采 时间:2020-11-27 14:16:36
文档

Python的抽象工厂模式

Python的抽象工厂模式:python面向对象编程入门,我们需要不断学习进步"""抽象工厂模式的实现"""import random class PetShop: """宠物商店""" def __init__(self, anima
推荐度:
导读Python的抽象工厂模式:python面向对象编程入门,我们需要不断学习进步"""抽象工厂模式的实现"""import random class PetShop: """宠物商店""" def __init__(self, anima
 python面向对象编程入门,我们需要不断学习进步

"""抽象工厂模式的实现"""

import random


class PetShop:

 """宠物商店"""

 def __init__(self, animal_factory=None):

 """宠物工厂是我们的抽象工厂。我们可以随意设置。""" 
 self.pet_factory = animal_factory

 def show_pet(self):

 """使用抽象工厂创建并显示一个宠物"""

 pet = self.pet_factory.get_pet()
 print("我们有一个可爱的 {}".format(pet))
 print("它说 {}".format(pet.speak()))
 print("我们还有 {}".format(self.pet_factory.get_food()))


# 工厂生产的事物

class Dog:

 def speak(self):
 return "汪"

 def __str__(self):
 return "Dog"


class Cat:

 def speak(self):
 return "喵"

 def __str__(self):
 return "Cat"


# Factory classes

class DogFactory:

 def get_pet(self):
 return Dog()

 def get_food(self):
 return "狗食"


class CatFactory:

 def get_pet(self):
 return Cat()

 def get_food(self):
 return "猫粮"


# 随机创建合适的工厂
def get_factory():
 """让我们动起来!"""
 return random.choice([DogFactory, CatFactory])()


# 多个工厂显示宠物
if __name__ == "__main__":
 for i in range(4):
 shop = PetShop(get_factory())
 shop.show_pet()
 print("=" * 20)

结果如图:

文档

Python的抽象工厂模式

Python的抽象工厂模式:python面向对象编程入门,我们需要不断学习进步"""抽象工厂模式的实现"""import random class PetShop: """宠物商店""" def __init__(self, anima
推荐度:
标签: 模式 python python的
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top