工厂方法概述
工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现。
优点
客户端不需要在负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性
缺点
需要额外的编写代码,增加子工作量
java" id="highlighter_118274">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
public class IntegerDemo {
public static void main(String[] args) {
Factory factory = new DogFactory();
Animal animal = factory.createAnimal();
animal.eat();
factory = new CatFactory();
animal = factory.createAnimal();
animal.eat();
}
}
abstract class Animal { // 抽象类
public abstract void eat();
}
class Dog extends Animal { // 狗
public void eat() {
System.out.println( "a dog is eatting." );
}
}
class Cat extends Animal { // 猫
public void eat() {
System.out.println( "a cat is eatting." );
}
}
interface Factory { // 接口
public abstract Animal createAnimal();
}
class DogFactory implements Factory { // 实现接口
public Animal createAnimal() {
return new Dog();
}
}
class CatFactory implements Factory { // 实现接口
public Animal createAnimal() {
return new Cat();
}
}
|
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!