Java 工厂方法

1. 引言

Java 工厂方法是一种创建对象的设计模式,主要用于解决对象的创建与使用之间的耦合问题。通过工厂方法,我们可以在不暴露对象创建逻辑的情况下,实现对象的实例化。本文将介绍 Java 工厂方法的实现步骤,并给出相关代码示例。

2. 实现步骤

步骤 描述
1 定义一个接口或抽象类,用于表示需要创建的对象类型。
2 创建一个工厂类,该工厂类包含一个静态方法,用于创建对象。
3 在工厂类的静态方法中,根据不同的条件,实例化并返回不同的对象。

3. 代码示例

步骤1:定义接口

首先,我们需要定义一个接口,用于表示需要创建的对象类型。假设我们要创建不同类型的动物,可以定义一个 Animal 接口,如下所示:

public interface Animal {
    void makeSound();
}

步骤2:创建工厂类

接下来,我们需要创建一个工厂类,用于实现对象的实例化逻辑。可以创建一个 AnimalFactory 工厂类,如下所示:

public class AnimalFactory {
    public static Animal createAnimal(String type) {
        if (type.equalsIgnoreCase("dog")) {
            return new Dog();
        } else if (type.equalsIgnoreCase("cat")) {
            return new Cat();
        } else {
            throw new IllegalArgumentException("Invalid animal type: " + type);
        }
    }
}

在上述代码中,我们通过 createAnimal 方法根据传入的类型参数,实例化并返回不同类型的动物对象。当传入的类型参数不是 "dog" 或 "cat" 时,抛出异常。

步骤3:实例化对象

最后,我们可以使用工厂类来实例化对象。可以编写一个示例程序,如下所示:

public class Main {
    public static void main(String[] args) {
        Animal dog = AnimalFactory.createAnimal("dog");
        dog.makeSound(); // Output: Woof!

        Animal cat = AnimalFactory.createAnimal("cat");
        cat.makeSound(); // Output: Meow!
    }
}

在上述示例程序中,我们通过 AnimalFactory.createAnimal 方法创建了一个狗对象和一个猫对象,并调用了它们的 makeSound 方法。

4. 总结

通过以上步骤,我们成功实现了 Java 工厂方法。通过定义接口和工厂类,我们可以实现对象的创建与使用之间的解耦,提高了代码的灵活性和可维护性。希望本文对于初学者理解和实践 Java 工厂方法有所帮助。

参考资料

  • [Java Factory Method Pattern](