`
Supanccy2013
  • 浏览: 223906 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

设计模式之工厂模式--简单工厂

阅读更多
package com.supan;
public interface Person {
	public void say();
}
package com.supan;
public class Chinese implements Person {
	public void say(){
		System.out.println("I am chinese");
	}
}
package com.supan;
public class American implements Person {
	public void say() {
		System.out.println("I am American;");
	}
}
package com.supan;
public interface Animal {
	public void eat();
}
package com.supan;
public class Dog implements Animal {
	public void eat() {
		System.out.println("dog is eatting");
	}
}
package com.supan;
public class Cat implements Animal {
	public void eat() {
		// TODO Auto-generated method stub
		System.out.println("Cat is eattting");
	}
}
//下面是重要的工厂类。
package com.supan;
public class PersonFactory {
	public Object getObject(String name){
		if(name.equals("Chinese")){
			return new Chinese();
		}else if(name.equals("American")){
		    return new American();	
		}else if(name.equals("dog")){
			return new Dog();
		}else if(name.equals("Cat")){
			return new Cat();
		}
		return null;
	}
}
//下面是测试类
package com.supan;
public class FactoryTest {
	public static void main(String[] args) {
		PersonFactory pf = new PersonFactory();
	     American a = (American)pf.getObject("American");
	     a.say();
	     Chinese chinese = (Chinese)pf.getObject("Chinese");
	     chinese.say();
	     Dog dog = (Dog)pf.getObject("dog");
	     dog.eat();
	     Cat cat = (Cat)pf.getObject("Cat");
	     cat.eat();
	}
}
分享到:
评论

相关推荐

    设计模式专题之(三)抽象工厂模式---设计模式抽象工厂模式示例代码(python--c++)

    设计模式专题之(三)抽象工厂模式---设计模式抽象工厂模式示例代码(python--c++)

    java设计模式之工厂模式

    java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...

    简单工厂模式-工厂方法模式-抽象工厂模式

    在软件设计模式中,工厂模式是一组非常基础且实用的设计模式,主要分为简单工厂模式、工厂方法模式和抽象工厂模式。这些模式都是为了解决对象创建的问题,通过封装对象的创建过程,使得代码更加灵活,易于扩展和维护...

    模式之一工厂模式-------------------------

    工厂模式是设计模式中的一种基础模式,它在Java编程中占据着重要的地位,尤其对于初学者来说,理解和掌握它是至关重要的。工厂模式属于创建型设计模式,它的主要目的是通过提供一个统一的接口来创建对象,使得客户端...

    工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

    在给定的资源中,"设计模式交流之工厂模式-shannonxu-2014-10-24.pptx"可能是详细的PPT讲解,涵盖了这些模式的概念、结构、优缺点以及实际应用案例。而"Factory"可能是一个代码示例,展示了工厂模式的具体实现,包括...

    c++设计模式-工厂方法模式

    工厂方法模式是面向对象设计模式中的一个创建型模式,它提供了一种封装对象创建过程的方式,使得具体的对象创建过程可以延迟到子类中进行。在C++编程中,工厂方法模式广泛应用于各种软件设计中,因为它能有效地解耦...

    设计模式系列编程源码----简单工厂模式

    简单工厂模式是软件设计模式中的一种创建型模式,它的主要思想是定义一个工厂类,这个类负责创建对象,客户端通过调用工厂类的特定方法来获取所需的对象,而无需关心对象是如何被创建的。这种模式将对象的创建过程...

    设计模式之工厂方法模式

    工厂方法模式是设计模式中的创建型模式之一,它在软件工程中扮演着非常重要的角色,尤其是在C#这样的面向对象编程语言中。工厂方法模式提供了一种封装对象创建过程的方法,使得具体的创建过程延迟到子类中进行,从而...

    设计模式学习笔记(一)--简单工厂模式源码

    简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题,降低了系统与具体创建对象之间的耦合度。在这个学习笔记中,我们将深入理解简单工厂模式的概念、工作原理以及如何在实际...

    设计模式专题之(二)工厂方法模式---设计模式工厂方法模式示例代码(python--c++)

    本篇文章将深入探讨设计模式中的一个核心概念——工厂方法模式,通过Python和C++的示例代码来阐述其原理和应用。 工厂方法模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。...

    深入浅出设计模式之工厂模式

    根据提供的标题“深入浅出设计模式之工厂模式”与描述“将《Head First 设计模式》(中文版)按章节进行了分割,每章一个文件,方便大家下载”,我们可以推测出这部分内容主要关注的是设计模式中的工厂模式。...

    工厂车间-工厂车间系统-工厂车间系统源码-工厂车间管理系统-基于Web的工厂车间系统设计与实现-工厂车间系统设计与实现-java

    工厂车间-工厂车间系统-工厂车间系统源码-工厂车间管理系统-工厂车间管理系统java代码-工厂车间系统设计与实现-基于springboot的工厂车间系统-基于Web的工厂车间系统设计与实现-工厂车间网站-工厂车间网站代码-工厂...

    设计模式-工厂模式

    工厂模式是设计模式中的一个基础且重要的部分,它属于创建型设计模式,主要用于封装对象的创建过程,使得客户端不必关心具体的实现细节,提高了代码的可扩展性和可维护性。 工厂模式主要有三种形式:简单工厂模式、...

    设计模式之-工厂方法-FactoryMethod

    《设计模式之——工厂方法(Factory Method)》 在软件工程中,设计模式是一种解决常见问题的可重用解决方案,它被广泛应用于构建高质量、可维护的代码。工厂方法是面向对象设计模式的一种,属于创建型模式。这个...

    设计模式之工厂方法、简单工厂、抽象工厂

    这三种工厂模式的共同之处在于它们都为对象的创建提供了抽象层,隐藏了具体的实例化过程。然而,它们之间的区别在于灵活性和抽象程度: - 工厂方法模式提供了一种定义抽象接口的方法,让子类来决定具体实例化哪个类...

    设计模式-工厂方法模式

    工厂方法模式是设计模式中的创建型模式,它提供了一种创建对象的最佳方式。在这个模式中,一个类(称为工厂类)不再直接实例化具体的产品,而是定义一个接口或抽象类,由子类来决定实例化哪一个类。这样做的好处在于...

    设计模式UML图--工厂模式

    在给定的“设计模式UML图--工厂模式”中,我们关注的是三种不同的工厂模式:简单工厂、工厂方法和抽象工厂。这些模式都是创建型设计模式,它们的核心目标是为对象的创建提供一种抽象,使得客户端代码不必关心具体的...

    设计模式-简单工厂模式-例题

    ### 设计模式——简单工厂模式解析与应用实例 #### 一、简单工厂模式概述 简单工厂模式(Simple Factory Pattern)是一种常用的创建型设计模式。它提供了一种方式来封装对象的创建过程,使得整个系统更加灵活,...

Global site tag (gtag.js) - Google Analytics