一起学Java(四十九)----- 工厂设计模式
Posted smile学子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起学Java(四十九)----- 工厂设计模式相关的知识,希望对你有一定的参考价值。
不积跬步,无以至千里;不积小流,无以成江海。
Java语言基础
Java的工厂设计模式
工厂模式:主要用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类。
工厂模式的形态
1:简单工厂(Simple Factory)
2:工厂方法(Factory Method)
3:抽象工厂(Abstract Factory)
简单工厂(Simple Factory)
又叫静态工厂,是工厂模式三中状态中结构最为简单的。主要有一个静态方法,用来接受参数,并根据参数来决定返回实现同一接口的不同类的实例。
具体的例子:假设一家工厂,几生产洗衣机,有生产冰箱,还有空调等等.
先为所有产品定义一个共同的产品接口:
interface Product{ }
接着我们让这个工厂的所有产品都必须实现此接口:
class Washer implements Product{ public Washer(){ System.out.println("洗衣机被制造了"); } } class Icebox implements Product{ public Icebox(){ System.out.println("冰箱被制造了"); } } class AirCondition implements Product{ public AirCondition(){ System.out.println("空调被制造了"); } }
一个工厂类,有它来负责生产以上的产品:
public class SimpleFactory { public static Product factory(String productName) throws Exception{ if (productName.equals("Washer")) { return new Washer(); }else if (productName.equals("Icebox")) { return new Icebox(); }else if (productName.equals("AirCondition")) { return new AirCondition(); }else { throw new Exception("没有该产品"); } } }
开始下定单:
public static void main(String[] args) { // TODO Auto-generated method stub try { SimpleFactory.factory("Washer"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
程序输出:
洗衣机被制造了
博客借鉴:https://www.jb51.net/article/127702.htm
以上是关于一起学Java(四十九)----- 工厂设计模式的主要内容,如果未能解决你的问题,请参考以下文章
大数据必学Java基础(四十一):面向对象三大特性之一多态(Polymorphism)
一起Talk Android吧(第三百四十九回:解析JSON数组四)