在下面的示例中,Animal
是一个接口,它定义了动物的方法sound()
。Dog
和Cat
是实现了Animal
接口的具体动物类。
AnimalFactory
是工厂类,它有一个静态方法createAnimal()
用于根据传入的参数创建不同类型的动物对象。在createAnimal()
方法中,通过判断传入的type
参数来确定应该创建哪种类型的动物对象,并将其返回。
在Main
类的main()
方法中,通过调用AnimalFactory.createAnimal()
来创建不同类型的动物对象。然后可以使用这些对象去调用动物的方法,例如sound()
。
通过工厂模式,我们可以将对象的创建逻辑封装在工厂类中,客户端只需要关心如何使用工厂来获取所需的对象,而不需要直接实例化对象。这样可以提高代码的灵活性和可维护性。
public interface Animal {
void sound();
}
public class Dog implements Animal {
@Override
public void sound() {
System.out.println("The dog barks.");
}
}
public class Cat implements Animal {
@Override
public void sound() {
System.out.println("The cat meows.");
}
}
public class AnimalFactory {
public static Animal createAnimal(String type) {
if (type.equalsIgnoreCase("dog")) {
return new Dog();
} else if (type.equalsIgnoreCase("cat")) {
return new Cat();
}
return null;
}
}
public class Main {
public static void main(String[] args) {
Animal dog = AnimalFactory.createAnimal("dog");
dog.sound(); // 输出:The dog barks.
Animal cat = AnimalFactory.createAnimal("cat");
cat.sound(); // 输出:The cat meows.
}
}
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END