java 工厂方法详解及实例代码
更新时间:2017年01月25日 09:45:10 投稿:lqh
这篇文章主要介绍了java 工厂方法详解及实例代码的相关资料,需要的朋友可以参考下
工厂方法概述
工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现。
优点
客户端不需要在负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性
缺点
需要额外的编写代码,增加子工作量
public class IntegerDemo { public static void main(String[] args) { Factory factory = new DogFactory(); Animal animal = factory.createAnimal(); animal.eat(); factory = new CatFactory(); animal = factory.createAnimal(); animal.eat(); } } abstract class Animal {// 抽象类 public abstract void eat(); } class Dog extends Animal {// 狗 public void eat() { System.out.println("a dog is eatting."); } } class Cat extends Animal {// 猫 public void eat() { System.out.println("a cat is eatting."); } } interface Factory {// 接口 public abstract Animal createAnimal(); } class DogFactory implements Factory {// 实现接口 public Animal createAnimal() { return new Dog(); } } class CatFactory implements Factory {// 实现接口 public Animal createAnimal() { return new Cat(); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
Java中HashTable和HashMap的区别_动力节点Java学院整理
HashTable和HashMap主要的区别有:线程安全性,同步(synchronization),以及速度。接下来通过本文给大家简单介绍下HashTable和HashMap的区别,需要的的朋友参考下吧2017-04-04详解spring cloud分布式整合zipkin的链路跟踪
这篇文章主要介绍了详解spring cloud分布式整合zipkin的链路跟踪,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-07-07IDEA2023创建MavenWeb项目并搭建Servlet工程的全过程
Maven提供了大量不同类型的Archetype模板,通过它们可以帮助用户快速的创建Java项目,这篇文章主要给大家介绍了关于IDEA2023创建MavenWeb项目并搭建Servlet工程的相关资料,需要的朋友可以参考下2023-10-10
最新评论