当前位置: 首页 > 后端技术 > Java

Java中的工厂模式

时间:2023-04-02 00:03:35 Java

工厂模式介绍该模式属于创建模式,它提供了创建对象的最佳方式。在工厂模式中,对象创建时,创建逻辑不暴露给客户端,使用一个公共接口指向新创建的对象。静态简单工厂模式接口AnimalpublicinterfaceAnimal{StringgetName();}子类Dog和CatpublicclassDogimplementsAnimal{@OverridepublicStringgetName(){return"Dog";}}publicclassCatimplementsAnimal{@OverridepublicStringgetName(){return"Cat";}}FactoryclasspublicclassAnimalFactory{//静态简单工厂模式publicstaticAnimalgetAnimal(Stringanimal){if(animal!=null){if(animal.equals("Dog")){returnnewDog();}elseif(animal.equals("Cat")){returnnewCat();}}返回空值;}}测试类publicclassTest{publicstaticvoidmain(String[]args){Animalanimal1=AnimalFactory.getAnimal("Dog");Animalanimal2=AnimalFactory.getAnimal("猫");if(animal1!=null){System.out.println(animal1.getName());}if(animal2!=null){System.out.println(animal2.getName());}/***输出结果:*Dog*Cat*/}}测试结果DogCat工厂方法模式接口AnimalpublicinterfaceAnimal{StringgetName();}SubclassDogandCatpublicclassDogimplementsAnimal{@OverridepublicStringgetName(){返回“狗”;}}publicclassCatimplementsAnimal{@OverridepublicStringgetName(){return"Cat";}}interfaceAnimalFactorypublicinterfaceAnimalFactory{AnimalgetAnimal();}子类CatFactory和DogFactorypublicclassCatFactoryimplementsAnimalFactory{@OverridepublicAnimalgetAnimal(){returnnewCat();}}公共类DogFactory实现AnimalFactory{@OverridepublicAnimalgetAnimal(){returnnewDog();}}测试类publicclassTest{publicstaticvoidmain(String[]args){Animalanimal1=newDogFactory().getAnimal();动物animal2=newCatFactory().getAnimal();if(animal1!=null){System.out.println(animal1.getName());}if(animal2!=null){System.out.println(animal2.getName());}/***输出结果:*Dog*Cat*/}}测试结果DogCat