工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。
工厂模式包涵两个抽象类。这两个抽象类提供一个抽象化的接口来创建一个特定类型的对象,而不是决定哪个对象可以被创建。
为了实现此方法,需要创建一个工厂类创建并返回。
当增加一个新的类型,不在需要修改已存在的类,只增加能够产生新类型的子类。
class Car:
def make(self):
pass
class Benc(Car):
def __init__(self, name):
self.__name = name
def make(self):
print("正在生产奔驰 ——"+self.__name)
class Baom(Car):
def __init__(self, name):
self.__name = name
def make(self):
print("正在生产宝马 ——"+self.__name)
class Factory:
def makeCar(self):
return Car()
class bmFactory(Factory):
def __init__(self, name):
self.__name = name
print(">>>>宝马车间")
def makeCar(self):
return Baom(self.__name)
class bcFactory(Factory):
def __init__(self, name):
self.__name = name
print(">>>>奔驰车间")
def makeCar(self):
return Benc(self.__name)
if __name__ == "__main__":
factory = bmFactory("BM123")
bm = factory.makeCar()
bm.make()
factory = bcFactory("BC324")
bc = factory.makeCar()
bc.make()
ps:感觉写的有点受java的影响,哈哈!