例子说明java中的简单工厂模式
来源:互联网 发布:linux安装lnmp 编辑:程序博客网 时间:2024/05/16 06:15
工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式,工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。
下面举个例子简单说明一下工厂模式:
1.首先创建一个生产车子的工厂:Factory.java;其中的product()就是创建所需要的工厂生产车子的方法
public class Factory {public static Car product(String type){ if(type.equalsIgnoreCase("SUV")){ return new SUV(type,120); }else if(type.equalsIgnoreCase("FamilyCar")){ return new SportCar("家用小车",70); }else if(type.equals("SportCar")){ return new FamilyCar("越野车",100); }else{ System.out.println("你的车我们生产不了"); return null; }}}
2.创建一个车子的类型类:Car.jar(各类型车的父类抽象类)
public abstract class Car {private String name;private int speed;public Car(String name, int speed) { super(); this.name = name; this.speed = speed;}public abstract void run() ;public String getName() { return name;}public void setName(String name) { this.name = name;}public int getSpeed() { return speed;}public void setSpeed(int speed) { this.speed = speed;}}
3.Car的子类:都继承Car类,并实现父类的run()方法
家庭车:public class FamilyCar extends Car{ public FamilyCar(String name, int speed) { super(name, speed); // TODO Auto-generated constructor stub } @Override public void run() { // TODO Auto-generated method stub System.out.println("生产了一辆FamilyCar"); }}越野车:public class SportCar extends Car{ public SportCar(String name, int speed) { super(name, speed); // TODO Auto-generated constructor stub } @Override public void run() { // TODO Auto-generated method stub System.out.println("生产了一辆越野车"); }}SUV:public class SUV extends Car{ public SUV(String name, int speed) { super(name, speed); // TODO Auto-generated constructor stub } @Override public void run() { // TODO Auto-generated method stub System.out.println("生产了一辆SUV"); }}
4.测试类:Test.java
public class Test {public static void main(String[] args) { Car car = Factory.product("SUV"); car.run();}}
5.我们需要将创建实例的工作与使用实例的工作分开, 也就是说,让创建实例所需要的大量初始化工作从Car的构造函数中分离出去。这时我们就需要Factory工厂模式来生成对象了,不能再用简单new car(参数)。
工厂模式中有: 工厂方法(Factory Method) 抽象工厂(Abstract Factory).
这两个模式区别在于需要创建对象的复杂程度上。
0 0
- 例子说明java中的简单工厂模式
- JAVA 工厂模式简单例子
- java中的工厂模式(简单工厂模式+工厂方法模式)
- Java中的简单工厂模式
- Java中的简单工厂模式
- Java中的简单工厂模式
- Java中的简单工厂模式
- Java中的简单工厂模式
- Java中的简单工厂模式
- java中的简单工厂模式
- Java中的简单工厂模式
- Java中的简单工厂模式
- Java中的简单工厂模式
- Java中的简单工厂模式
- Java中的简单工厂模式
- Java中的简单工厂模式
- Java中的简单工厂模式
- Java中的简单工厂模式
- 微信支付的坑其实不多,但有几个关键点。
- 如何成为一位Unity3D游戏开发者:对游戏开发抱有热情
- phonegap中是使用罗盘
- Eclipse注释模板与规范
- java讲义(五)java中static关键字
- 例子说明java中的简单工厂模式
- tomcat原理分析与简单实现
- 第七次CCF-4-游戏(广搜)
- 禅与 Objective-C 编程艺术 (Zen and the Art of the Objective-C Craftsmanship 中文翻译)
- 中兴测试题目-单词字母接龙
- 好片两部半
- Java -- 关于编码知识整理
- 第一行代码学习笔记---过时的通知写法
- 如何优化css的性能。