# 球,基类(抽象产品类) class Ball: def walk(self): pass # 篮球(具体产品) class Basketball(Ball): def walk(self): print("我是篮球") # 足球(具体产品) class Soccer(Ball): def walk(self): print("我是足球") # 球厂,基类(抽象工厂) class BallFactory: def make_Ball(self): pass # 篮球车间(具体工厂) class BasketballFactory(BallFactory): def make_Ball(self): return Basketball() # 足球车间(具体工厂) class SoccerShoeFactory(BallFactory): def make_Ball(self): return Soccer() # Nba专供 def NBA(): factory = BasketballFactory() for i in range(5): run = factory.make_Ball() run.walk() # 国足专供 def CHINA_soccer(): factory = SoccerShoeFactory() for i in range(5): Ball = factory.make_Ball() Ball.walk() if __name__ == '__main__': NBA() CHINA_soccer()
结果:
我是篮球
我是篮球
我是篮球
我是篮球
我是篮球
我是足球
我是足球
我是足球