1.工厂方法模式(Factory Method) 将程序中创建对象的操作,单独出来处理,创建一个产品的工厂接口,把实际的工作转移到具体的子类。大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。
注:改设计模式的工厂只能返回对应的一种对象,如果需要返回多种不同的对象就需要用到抽象工厂模式
- public class TestFactoryMethod {
- public static void main(String[] args) {
- //创建工厂类
- AnimalFactory af=new DogFactory();
- //通过工厂类中取得需要的动物对象
- Animal1 a=af.getAnimal();
- }
- }
- //动物抽象类
- abstract class Animal1{}
- //狗类
- class Dog1 extends Animal1{}
- //猫类
- class Cat1 extends Animal1{}
- //动物抽象工厂
- abstract class AnimalFactory{
- //获取动物方法
- public abstract Animal1 getAnimal();
- }
- //狗类工厂
- class DogFactory extends AnimalFactory{
- public Animal1 getAnimal(){
- System.out.println("Dog");
- //返回狗
- return new Dog1();
- }
- }
- //猫类工厂
- class CatFactory extends AnimalFactory{
- public Animal1 getAnimal(){
- //返回猫
- System.out.println("Cat");
- return new Cat1();
- }
- }