`

[原]简单工厂模式

阅读更多
声明:以下例子来自浪曦中的教程,不过有些改动,如果哪里有疑问,可直接访问浪曦网站

简单工厂模式又叫静态工厂模式,顾名思义,它是用来实例化目标类的静态类.

interface Car{
	public abstract void run();
	public abstract void stop();
}

class Beaz implements Car{
	public void run(){
		System.out.println("Beaz开车了");
	}
	public void stop(){
		System.out.println("Beaz停车了");
	}
}

class Ford implements Car{
	public void run(){
		System.out.println("Ford开车了");
	}
	public void stop(){
		System.out.println("Ford停车了");
	}
}


/**
 * 如果再想加入其它车(比如bicycle),那么只要继承Car接口,尽管添加子类即可
 * 而不需要再去改工厂类(Factory)
 */
class Factory{
	public static Car getInstance(String type){
		Car c = null;
		try {
			c = (Car)Class.forName("com.dahai."+type).newInstance();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		return c;
	}
}

public class SimpleFactoryDemo{
	public static void main(String[] args) {
		Car c = Factory.getInstance("Ford");
		//Car c = Factory.getInstance("车");
		//此处做一个判断,就是防止如果输入的参数,在调用方法的时候
		//没有相关的类,这样就会报异常,所以做一个判断
		if(c!=null){
			c.run();
			c.stop();
		}else{
			System.out.println("出错了");
		}
	}
}

转载请注明出处,谢谢您对本人的劳动成果表示赞成.
分享到:
评论

相关推荐

    [浪曦原创]JAVA设计模式 第2讲 单态模式和简单工厂模式(jzkangta).rar

    在这个压缩包中,我们重点关注两种模式:单例模式和简单工厂模式。 单例模式是一种创建型设计模式,其核心特点是保证一个类只有一个实例,并提供一个全局访问点。在Java中实现单例,通常有懒汉式、饿汉式和双重检查...

    [原创][创建型模式] 简单工厂、工厂方法、抽象工厂三种设计模式的理解

    NULL 博文链接:https://jacky-dai.iteye.com/blog/2296369

    java设计模式(工厂模式,动态代理,责任链模式……)实例源码

    工厂模式有简单工厂、工厂方法和抽象工厂三种形态,分别适用于不同级别的抽象和灵活性需求。 2. 动态代理:动态代理模式在Java中主要通过Java的反射API和InvocationHandler接口实现。它可以动态地生成一个代理类,...

    设计模式之PHP项目应用(简单工厂模式:计算器)

    1)程序功能:用简单工厂模式实现计算器功能,采用PHP编写。 2)程序详解地址:http://blog.csdn.net/clevercode/article/details/45692995。 3)原创作品,出自"CleverCode的博客",分类为《设计模式之PHP项目应用...

    asp.net 简单工厂模式和工厂方法模式之论述

    ***中简单工厂模式与工厂方法模式的论述主要涉及以下知识点: 简单工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在简单工厂模式中,有一个专门负责创建对象的工厂类,根据客户端传入的参数,...

    JavaScript中的工厂模式:构建灵活的对象创建机制

    工厂模式是一种简单而强大的设计模式,它提供了一种灵活的对象创建机制,有助于解耦对象的创建和使用。在JavaScript中实现工厂模式,可以有效地提高代码的模块化和可维护性。通过本文的介绍,你应该能够理解工厂模式...

    [浪曦原创]JAVA设计模式 第4讲 抽象工厂(jzkangta)

    学习这个模式时,需要注意理解抽象工厂模式与其他创建型模式(如简单工厂、工厂方法和建造者模式)的区别,以及如何在实际项目中合理选择和应用。同时,也要关注模式的优缺点,例如它能很好地封装变化,但可能会导致...

    【资源免费下载】Java代码积累丨大话设计模式(Java实现版本)、线程协作

    抽象工厂模式 原型模式 建造者模式 单例模式 结构型模式 队列模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 行为模式(类行为模式) 解释器模式 模板方法模式 行为模式(对象行为模式) 策略模式 ...

    head first 设计模式原料工厂C++实现

    在给定的文件中,我们看到一个名为“原料工厂”的实现,这是简单工厂模式的一个例子,用于创建披萨的各个组成部分。下面我们将详细探讨这个原料工厂以及与之相关的知识点。 **简单工厂模式**: 简单工厂模式是设计...

    UML(4)-单例、简单工厂、责任链、代理模式的UML

    其次,简单工厂模式是一种创建型设计模式,它提供了一个公共接口来创建对象,而无需指定具体类。在UML中,我们会看到一个名为`Factory`的类,它有一个或多个创建对象的方法,这些方法根据输入参数返回不同类型的实例...

    Java设计模式——工厂设计模式详解

    1. 简单工厂(Simple Factory):简单工厂是工厂模式三种形态中结构最为简单的。主要有一个静态方法,用来接受参数,并根据参数来决定返回实现同一接口的不同类的实例。 简单工厂的优点是可以动态决定应该实例化哪...

    设计模式.pdf

    静态工厂模式,通常也被称为简单工厂模式。这种模式提供一个创建对象的接口,让其在内部根据输入参数的不同来创建并返回不同类的实例。静态工厂模式的主要组成部分包括工厂类角色、抽象产品角色和具体产品角色。工厂...

    设计模式简单实现

    2. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建对象时,我们不会对客户端暴露创建逻辑,而是引用一个共同的接口来指向新创建的对象。这有助于提升代码的...

    设计模式的简单介绍

    创建型模式关注对象的创建过程,如单例模式(Singleton)、工厂模式(Factory)和抽象工厂模式(Abstract Factory)等。它们提供了不同的方式来创建对象,使得对象的创建过程更加灵活,同时也隐藏了具体的实现细节。...

    JavaScript 模式之工厂模式(Factory)应用介绍

    首先,简单工厂模式是最基础的形式,它通过一个函数来创建具有特定属性的对象。例如,创建Person对象的简单工厂模式如下: ```javascript function createPerson(name, age) { var obj = {}; obj.name = name; ...

    一键刷回原生系统-工厂镜像【Nexus设备通用】

    Nexus设备通常能第一时间获得Android的系统更新,并且非常适合刷机爱好者,因为它们的解锁和刷机流程相对简单。 **四、刷回原生系统步骤** 1. **准备工具**:首先,你需要下载对应Nexus设备的官方工厂镜像,这些...

    23种设计模式.doc

    工厂模式分为简单工厂模式和工厂方法模式。 2. **工厂方法模式**:工厂方法模式是工厂模式的进一步扩展,它定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。这样,工厂方法让类的实例化推迟到子类中...

    简单模式源码

    最后,工厂模式系列包括简单工厂模式、工厂方法模式和抽象工厂模式,它们都属于创建型设计模式。这些模式提供了一种创建对象的最佳方式,将对象的创建过程抽象化,使得代码更加模块化,易于维护和扩展。简单工厂模式...

Global site tag (gtag.js) - Google Analytics