抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现(每个类有一个工厂)
优点:客户端不需要负责对象的创建,从而明确各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码
缺点:需要额外的编写代码,增加了工作量
package day25
;
public interface Factory {
public Animal
createAnimal();
}
package day25
;
public class DogFactory implements Factory {
@Override
public Animal
createAnimal() {
return new Dog();
}
}
package day25
;
public class Dk8Factory {
public static void main(String
[] args
) {
DogFactory df
= new DogFactory();
Animal a
= df
.createAnimal();
a
.eat();
}
}
狗吃肉