学习日记-工厂模式
来源:互联网 发布:子午谷奇谋 知乎 编辑:程序博客网 时间:2024/06/05 08:14
------- android培训、java培训、期待与您交流! ----------
工厂模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。
工厂模式适用的类型:
1.当一个类不知道它所必须创建的对象的类的时候。
2.当一个类希望由它的子类来指定它所创建的对象的时候。
3.当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。
下边给出一个小例子:
//定义接口提供各个对象都会有的方法package com.itcast.factory;public interface Moveable {void run();}//定义抽象工厂package com.itcast.factory;public abstract class VehicleFactory {//使用工厂不用在产生对象时,使用new这样就可以在产生对象时控制其产生的过程abstract Moveable creat ();}//定义工厂的实现类carfactorypackage com.itcast.factory;;public class CarFactory extends VehicleFactory{public Moveable creat(){return new Car();}}//定义工厂的实现类planfactorypackage com.bjsxt.factory;public class PlaneFactory extends VehicleFactory {public Moveable creat(){return new Plane();}}//定义抽象工厂实现类的实现类即生产出来的产品package com.itcast.factory;import java.util.ArrayList;public class Car implements Moveable{//单例设计模式,人们不可以随便的产生对象,并且每次产生的对象都是一个public static Car c=new Car();//还可以定义一个数组,来专门的存放Car每次需要时就给他其中的一个,即多例。public ArrayList<Car> arr=new ArrayList<Car>(); Car(){}public static Car getInstance(){return c;}public void run(){System.out.println("奔跑中.......");}}package com.itcast.factory;public class Plane implements Moveable{@Overridepublic void run() {System.out.println("扇着翅膀前进:.....");}}//下面是测试程序package com.bjsxt.factory;public class Test {public static void main(String[] args){PlaneFactory factory=new PlaneFactory();Moveable m=factory.creat();m.run();}}------- android培训、java培训、期待与您交流! ----------
- 学习日记-工厂模式
- OC学习日记015-工厂模式
- 2016.12.12 学习日记-简单工厂模式
- 2016.12.19 学习日记-工厂方法模式
- 2016.12.28 学习日记-抽象工厂模式
- 学习日记之工厂方法模式和Effective C++
- 学习日记之抽象工厂模式和Effective C++
- 学习日记-策略模式
- 学习日记-代理模式
- 学习日记-观察者模式
- 学习日记-装饰模式
- 设计模式学习日记。
- 工厂模式学习笔记
- 简单工厂模式学习
- 简单工厂模式学习
- 工厂模式学习
- 工厂模式学习
- 工厂模式的学习
- 淘宝核心系统团队
- linux异步IO浅析
- Flash shader滤镜的使用
- H.265(HEVC)解码片源测试序列,解码器下载
- 《精通Oracle10gPLSQL编程》2.PL/SQL开发工具
- 学习日记-工厂模式
- 杭电2006
- HDOJ 1050
- OD常用断点
- Golang 学习及使用
- java session
- java http session
- 第四次上机作业
- 浅析extern “C”的作用