(这是为什么呢?)
Java是来源于生活的。例:当我们想要一台电脑时,通过new的方式来自己创建是没有道理的。在生活中,我们通常会买一台工厂生产好的电脑。如果我们自己来new的话,这是与现实生活违背的。工厂生产的电脑是初始化好所有的数据后可以直接使用的,所以工厂模式有很多的好处。
代码示例:
定义一个电脑抽象父类。
这里不能定义太多的属性,因为每种电脑都是不一样的。故定义为抽象类,以重写方法来体现每种电脑的异同。
第3行的abstract是抽象类关键字,用于类标识;第7行的abstract是抽象方法关键字,用于方法标识。
定义一个“Mac”子类,相当于Mac电脑。
4-7行:重写电脑父类中的抽象方法。
定义一个“华为”子类,重写父类抽象方法。
按原来创建的对象的方法,如图。
我们需要自己new一个对象,然后给对象设置参数。如果后面需要对该对象进行更改,还需要在这里进行修改,这样是一种耦合的方式,非常不方便。
工厂模式的方法 :定义一个工厂模式类,在类中定义创建对象并返回的方法。
创建执行程序的类,通过工厂模式类获取对象。
这样的方法在后面需要对类进行更改时,只需要在工厂模式一个地方进行修改即可,并且此处可以对多个子类进行修改,起到对对象集中维护的作用。这种方法使电脑父类和电脑品牌子类以及工厂模式类,这四个类解耦。
总结:
- 对象通过工厂类的方法创建返回,此方法可以为该对象进行加工和数据注入。
- 可以实现类与类之间的解耦合操作(核心思想)。