java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
这篇文章主要介绍了 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();
- }
- }
来源: http://www.phperz.com/article/18/0219/358660.html