工廠模式
簡(jiǎn)單例子Demo
-
創(chuàng)建一個(gè) 接口類(lèi)Animals.java
public interface Animals { void cry(); }
-
創(chuàng)建Dog、Cat翅睛、Bird等類(lèi)實(shí)現(xiàn)Animals接口
Dog.java
public class Dog implements Animals { @Override public void cry() { System.out.println("Dog cry()"); } }
Cat.java
public class Cat implements Animals { @Override public void cry() { System.out.println("Cat cry()"); } }
Bird.java
public class Bird implements Animals { @Override public void cry() { System.out.println("Bird cry()"); } }
-
創(chuàng)建動(dòng)物工廠類(lèi) AnimalFactory.java
public class AnimalFactory { public Animals getAnimals(String animalType) { if (animalType == null) { return null; } if (animalType.equalsIgnoreCase("dog")) { return new Dog(); }else if (animalType.equalsIgnoreCase("cat")) { return new Cat(); }else if (animalType.equalsIgnoreCase("bird")) { return new Bird(); } return null; } }
-
測(cè)試Demo
public class Demo { public static void main(String[] args) { AnimalFactory animalFactory = new AnimalFactory(); Animals animals1 = animalFactory.getAnimals("dog"); animals1.cry(); Animals animals2 = animalFactory.getAnimals("cat"); animals2.cry(); Animals animals3 = animalFactory.getAnimals("bird"); animals3.cry(); } }