工厂方法模式
来源:互联网 发布:感情网络用语有哪些? 编辑:程序博客网 时间:2024/06/16 08:23
工厂模式有三种,简单工厂,工厂方法和抽象工厂模式。
简单工厂:在工厂类中添加返回产品类对象的静态方法。
代码模版:
/***工厂类*/public class Factory{ private Factory{ public static Product1 getProduct1(){ return new Product1 (); } public static Product2 getProduct2(){ return new Product2 (); } //还有其他产品。。。。}
public class Product1 { //产品1成员 public void method1(){ }}public class Product2 { //产品2成员 public void method2(){ }}
`
调用时
public class Test { public static void main(String[] args) { //获得Product1 对象 Product1 product1 = Factory.getProduct1(); //调用Product1 的方法 product1.method1(); //获得Product2 对象 Product2 product2 = Factory.getProduct2(); //调用Product2 的方法 product2.method2(); }}
3.工厂方法模式
定义一个用于创建对象的接口,让子类决定实例化哪个类。
用一个食物工厂例子说明
定义一个食物抽象工厂接口
public interface FoodFactory { public Food factory();}
定义食物接口
public interface Food { public void eat(); //这里放食物的共有方法}
定义面包具体工厂,实现抽象工厂接口,生产面包对象
public class BreadFactory implements FoodFactory { public Food factory() { return new Bread(); }}
定义肉类具体工厂,生产肉类对象
public class MeatFactory implements FoodFactory { public Food factory() { return new Meat(); }}
定义面包类,实现食物接口
public class Bread implements Food { public Bread(){ System.out.println("生产面包对象"); } @Override public void eat() { // TODO Auto-generated method stub System.out.println("面包可以吃"); }}
定义肉类,实现食物接口
public class Meat implements Food { public Meat() { System.out.println("生产肉类对象"); } @Override public void eat() { // TODO Auto-generated method stub System.out.println("肉可以吃"); }}
测试一下
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub FoodFactory breadfactory = new BreadFactory(); Food bread = breadfactory.factory(); bread.eat(); FoodFactory meatfactory = new MeatFactory(); Food meet = meatfactory.factory(); meet.eat(); }}
测试结果:
生产面包对象
面包可以吃
生产肉类对象
肉可以吃
阅读全文
1 0
- 工厂模式 -- 工厂方法
- 工厂模式-工厂方法
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式---工厂方法模式
- 【模式】工厂方法模式
- 工厂方法,抽象工厂模式
- C#工厂模式-工厂方法
- 工厂模式 和工厂方法
- 工厂模式-C-工厂方法
- 工厂模式以及工厂方法
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂方法、抽象工厂模式
- 工厂模式(简单工厂、工厂方法)
- 简单工厂|工厂方法|抽象工厂模式
- 设计模式-工厂模式(简单工厂模式+工厂方法模式)
- 我的第一篇博客:我是怎么进入前端领域的
- 4-1 计算符号函数的值
- 工控ARM板登陆、wifi连接
- 【Scikit-Learn 中文文档】协方差估计 / 经验协方差 / 收敛协方差 / 稀疏逆协方差 / Robust 协方差估计
- HOJ 1448
- 工厂方法模式
- python小知识
- Find Patterns Forming Clumps in a String
- 4-2 计算分段函数[1]
- 典型的程序员面试题
- 11月28日心得
- Linux C操作mysql
- 【Scikit-Learn 中文文档】新异类和异常值检测
- 4-3 比较大小