工厂方法模式是设计模式中应用最广泛的模式。在面向对象的编程中,对象的创建工作非常简单,对象的创建时机却很重要。工厂方法模式就是解决这个问题,它通过面向对象的手法,将所要创建的具体对象创建工作延迟到了子类,从而提供了一种扩展的策略,较好的解决了这种紧耦合的关系。
Bmw.java
package fac; public interface Bmw { //产品的信息介绍 void showInfo(); } class Bmw3 implements Bmw{ @Override showInfo() { TODO Auto-generated method stub System.out.println("宝马3系"); } } class Bmw5 TODO Auto-generated method stub System.out.println("宝马5系"class Bmw7 TODO Auto-generated method stub System.out.println("宝马7系"); } }
BmwFactory.java
汽车生产工厂接口 BmwFactory { Bmw productBmw(); } class Bmw3Factory BmwFactory{ @Override public Bmw productBmw() { TODO Auto-generated method stub System.out.println("生产宝马3系"); return new Bmw3(); } } class Bmw5Factory TODO Auto-generated method stub System.out.println("生产宝马5系" Bmw5(); } } class Bmw7Factory TODO Auto-generated method stub System.out.println("生产宝马7系" Bmw7(); } }
Main.jav
class Main { static main(String[] args) { Bmw b3 = Bmw3Factory().productBmw(); b3.showInfo(); Bmw b5 = Bmw5Factory().productBmw(); b5.showInfo(); Bmw b7 = Bmw7Factory().productBmw(); b7.showInfo(); } }
输出:
生产宝马3系
宝马3系
生产宝马5系
宝马5系
生产宝马7系
宝马7系
说明:通过工厂把new对象给隔离,通过产品的接口可以接受不同实际产品的实现类,实例的类名的改变不影响其它合作开发人员的编程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。