工厂模式:通常做法就是建立一个工厂类,创建一个统一的方法,用来产生某一个类的对象
和这个类子类的对象的模式。其优点在于对象创建更加方便,同时可以隐藏创建对象及对象初始
化的细节,突出了封装性,更安全;缺点就是相对来说反锁一点。下面将详细介绍其代码实现。
# Python工厂模式: 通过建立一个统一返回对象的方法,对象创建更加方便,同时可以
# 隐藏创建对象及对象初始化的细节,突出了封装性,更安全
class Animals:
name = '';
def introduce(self):
print('This is a %s' % (self.name));
def __init__(self,name):
self.name = name;
class Cat(Animals):
pass;
class Dog(Animals):
pass;
class Chicken(Animals):
pass;
# 工厂类,通过调用工厂类的方法GetAnimal 可以创建任何动物
class AnimalsFactory:
def GetAnimal(self,animalKind):
if animalKind == 'Cat':
return Cat('Cat');
elif animalKind =='Dog':
return Dog('Dog');
elif animalKind=='Chicken':
return Chicken();
factory=AnimalsFactory();
# 创建一支狗
dog=factory.GetAnimal('Dog');
# 创建一只猫
cat=factory.GetAnimal('Cat');
# 创建一只鸡
chicken=factory.GetAnimal('Chicken');