java factory method details and example code


Overview of factory methods

In the factory method pattern, the abstract factory class is responsible for defining the interface to create the object, and the concrete object creation is implemented by the concrete class that inherits the abstract factory.

advantages

The client side does not need to be responsible for the creation of objects, thus clarifying the responsibilities of each class. If new objects are added, only a specific class and a specific factory class need to be added, which does not affect the existing code, easy maintenance in the later stage, and enhances the extensibility of the system

disadvantages

Additional coding is required to increase the subwork

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 {//  An abstract class
  public abstract void eat();
}

class Dog extends Animal {//  The dog
  public void eat() {
    System.out.println("a dog is eatting.");
  }
}

class Cat extends Animal {//  The cat
  public void eat() {
    System.out.println("a cat is eatting.");
  }
}

interface Factory {//  interface
  public abstract Animal createAnimal();
}

class DogFactory implements Factory {//  Implementing an interface
  public Animal createAnimal() {
    return new Dog();
  }
}

class CatFactory implements Factory {//  Implementing an interface
  public Animal createAnimal() {
    return new Cat();
  }
}

Thank you for reading, I hope to help you, thank you for your support of this site!