工厂模式,类似实际的制造车间中,根据订单的需求来生成/创建某个实例。
1.应用场景:需要创建的实例不确定,由输入的数据决定;
2.实现方法:实现一个独立的类,接收传入的需要创建实例的名称,在该类中实现创建某个具体实例。
3.代码:
#coding:utf-8
class Person(object):
def __init__(self):
self.name=None
self.gender=None
def getName(self):
return self.name
def getGender(self):
return self.gender
class male(Person):
def __init__(self,name):
print("Hello,Mr."+name)
class female(Person):
def __init__(self,name):
print("Hi,Mrs."+name)
class Factory(object): #factory class,will accept the input data
def getPerson(self,name,gender):
if gender=='M':
return male(name)
else:
return female(name)
if __name__ == "__main__":
factory_obj=Factory()
factory_obj.getPerson("Kate","F")
#output:
Hi,Mrs.Kate