当前位置: 代码迷 >> 综合 >> 工厂模式二(工厂方法模式)
  详细解决方案

工厂模式二(工厂方法模式)

热度:43   发布时间:2024-01-26 20:04:31.0
  • 概念:对象由接口来创建,让实现接口的类来决定实例化哪个类,类的实例化推迟在子类中实现

   例如猫和狗都属于动物一类,都具有吃饭这个功能。

先定义创建具体动物对象的接口IAnimal 

public interface IAnimal {void eat();
}

分别创建实现接口IAnimal的两种动物 Cat类和Dog类

public class Cat implements IAnimal {public void eat() {System.out.println("喜欢吃猫粮");}
}

 

public class Dog implements  IAnimal {public void eat() {System.out.println("喜欢吃狗粮");}
}

新建接口IAnimalFactory,由它来创建对象

public interface IAnimalFactory {IAnimal create();
}

分别新建CatFactory 和 DogFactory实现接口IAnimalFactory,来决定实例化Cat类和Dog类

public class CatFactory implements IAnimalFactory {public IAnimal create() {return new Cat();}
}
public class DogFactory implements IAnimalFactory {public IAnimal create() {return new Dog();}
}

 新建测试类

public class MyTest {public static void main(String[] args) {IAnimalFactory dogFactory = new DogFactory();IAnimal dog = dogFactory.create();dog.eat();IAnimalFactory catFactory = new CatFactory();IAnimal cat = catFactory.create();cat.eat();}
}

 

  相关解决方案