`

工厂方法模式A

阅读更多
package 工厂方法模式;

public interface Human {
	public void laugh();
	public void cry();
	public void talk();
}
//****************************************************************************
package 工厂方法模式;

public class WhiteHuman implements Human {


	public void laugh() {
		System.out.println("白种人笑了····");

	}


	public void cry() {
		System.out.println("白种人哭了····");

	}


	public void talk() {
		System.out.println("白种人在说话了····");

	}

}
//****************************************************************************
package 工厂方法模式;

public class BlackHuman implements Human {


	public void laugh() {
		System.out.println("黑种人笑了····");

	}


	public void cry() {
		System.out.println("黑种人哭了····");

	}


	public void talk() {
		System.out.println("黑种人在说话了····");

	}

}
//****************************************************************************
package 工厂方法模式;

public class YellowHuman implements Human {

	public void laugh() {

		System.out.println("黄种人笑了····");

	}

	public void cry() {
		System.out.println("黄种人哭了····");

	}

	public void talk() {
		System.out.println("黄种人在说话了····");

	}

}

//****************************************************************************
package 工厂方法模式;

public class HumanFactory {
	
	public static Human createHuman(Class c) throws InstantiationException, IllegalAccessException, ClassNotFoundException{
		Human human = null;
		human = (Human)Class.forName(c.getName()).newInstance();
		return human;
	}
	
}

//****************************************************************************

package 工厂方法模式;

public class NvWa {
	public static void main(String aegs[]) throws InstantiationException, IllegalAccessException, ClassNotFoundException{
		
				System.out.println("····造出的第一批人是这样的:白人····");
				Human whiteHuman  =  HumanFactory.createHuman(WhiteHuman.class);
				whiteHuman.cry();
				whiteHuman.laugh();
				whiteHuman.talk();

				System.out.println("····造出的第二批人是这样的:黑人····");
				Human BlackHuman  =  HumanFactory.createHuman(BlackHuman.class);
				BlackHuman.cry();
				BlackHuman.laugh();
				BlackHuman.talk();
				
				System.out.println("····造出的第三批人是这样的:黄种人····");
				Human YellowHuman  =  HumanFactory.createHuman(YellowHuman.class);
				YellowHuman.cry();
				YellowHuman.laugh();
				YellowHuman.talk();
	}
}

分享到:
评论

相关推荐

    设计模式之工厂方法模式

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

    工厂方法模式java实例demo

    工厂方法模式是面向对象设计模式中的行为模式,它提供了一种创建对象的最佳方式。在工厂方法模式中,我们在创建对象时不会对客户端暴露创建逻辑,而是引用一个共同的接口来指向新创建的对象。这种模式是类的创建模式...

    工厂方法模式[C#]

    工厂方法模式是设计模式中的一种创建型模式,它在面向对象编程中扮演着重要的角色。在C#中,我们可以利用这种模式来抽象产品的创建过程,将具体的实例化操作延迟到子类中进行,从而实现代码的解耦和扩展性。 1. **...

    qt工厂模式例子qt简单工程模式源码

    参考如下博客,亲自实践了一个QT的工厂模式,亲测可用,编译运行实测。 我用qt5.6,在windows下编译并运行测试,正常。 https://blog.csdn.net/baidu_33570760/article/details/71159808 1. Qt工厂模式源码 2. C++...

    工厂方法模式和抽象工厂模式.zip

    抽象工厂模式的角色包括:抽象产品A、抽象产品B分别代表产品族中的不同产品,抽象工厂(Abstract Factory)定义了创建产品A和产品B的接口,具体工厂1(Concrete Factory 1)和具体工厂2(Concrete Factory 2)分别...

    PHP 工厂方法模式.pdf

    工厂方法模式是一种创建型设计模式,它提供了一个创建对象的最佳方式。这种模式涉及到一个抽象工厂类,该类拥有一个用于创建对象的方法。子类通常会覆盖这个方法,以便可以创建出特定类型的对象。简而言之,工厂方法...

    java模式设计视频资料3(工厂方法模式)

    在提供的文件列表中,"A234]工厂方法模式.exe"可能是一个演示或教学程序,用于直观展示工厂方法模式的运用;"工厂方法模式.ppt"可能是一份详细的幻灯片教程,包含了模式的理论介绍、示例代码和应用场景;...

    JAVA设计模式之工厂方法模式

    ### JAVA设计模式之工厂方法模式 #### 一、引言 设计模式是在软件工程领域内广泛应用的一种编程思想,它能够帮助开发者解决常见的软件设计问题,提高代码的可维护性和复用性。面向对象的设计模式更是现代软件开发...

    工厂模式java代码

    简单工厂模式是最简单的工厂模式形式,它通过一个静态方法来创建对象。在这个模式中,工厂类负责知道应该创建哪个具体类的对象。例如,在Java中,你可以定义一个名为`SimpleFactory`的类,它有一个静态方法如`...

    工厂设计模式简单实例

    工厂模式有多种变体,如简单工厂模式、工厂方法模式和抽象工厂模式,每种都有不同的适用场景。简单工厂模式通常用于创建对象相对固定,且不需扩展的情况;工厂方法模式则允许子类决定实例化哪个类,适用于产品族的...

    单例模式和工厂模式代码

    工厂模式分为简单工厂模式、工厂方法模式和抽象工厂模式。在Java中,工厂方法模式可以通过定义接口或抽象类,让子类决定实例化哪个类。 ```java // 工厂方法模式示例 interface Shape { void draw(); } class ...

    简单工厂模式

    为了解决这些问题,可以考虑使用更复杂的工厂模式,如工厂方法模式或抽象工厂模式。 在实际项目中,简单工厂模式常用于创建具有共同接口或基类的一组对象,如数据库连接、图形元素等。通过合理运用简单工厂模式,...

    Java设计模式04简单工厂模式.pdf

    此外,工厂类的职责相对单一,如果需要更多的控制和策略,可能需要考虑使用更复杂的工厂模式,如工厂方法模式或抽象工厂模式。 #### 三、模式扩展与注意事项 虽然简单工厂模式在许多场景下表现良好,但在一些情况...

    工厂模式计算器 C#的工厂模式

    在软件设计模式中,工厂模式是一种非常常见的创建型模式,它的主要目的是将对象的创建过程封装起来,使得创建过程与使用过程分离,提供一个统一的接口来生成不同类型的实例。在这个场景中,我们讨论的是如何在C#中...

    三种工厂模式的代码示例

    工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。下面将详细介绍这三种工厂模式及其代码示例。 1. 简单工厂模式: 简单工厂模式通常用于创建一系列相关或相互依赖的对象。它包含一个工厂类...

    uml 文档 简单工厂模式

    UML文档-简单工厂模式 简单工厂模式是一种专门负责将大量有共同接口的类实例化的模式,而不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。 简单工厂模式的...

    设计模式——简单工厂模式

    **设计模式——简单工厂模式** 简单工厂模式是创建型设计模式的一种,它提供了一种创建对象的最佳方式。...在实际开发中,根据项目需求和规模,可能会选择更复杂的工厂模式,如工厂方法模式或抽象工厂模式。

    设计模式工厂方法.zip

    《设计模式:工厂方法》 在软件工程领域,设计模式是一种在特定情况下解决常见问题的模板,它描述了在特定上下文中如何重复使用代码来解决问题。"工厂方法"(Factory Method)是设计模式中的一种创建型模式,它提供...

    简单工厂模式.zip

    - 考虑如何改进工厂类,以适应未来的扩展,比如引入抽象工厂模式或者工厂方法模式。 通过解决这些习题,读者不仅可以掌握简单工厂模式的基本原理,还能理解如何在实际项目中应用这一模式,提升代码质量和可维护性。

    工厂模式 - PHP版

    1. **简单工厂模式**:由一个静态方法或单一工厂类负责创建所有类型的产品,当产品类型增加时,可能需要修改工厂类,违背了开闭原则。 2. **工厂方法模式**:定义一个创建对象的接口,让子类决定实例化哪一个类。...

Global site tag (gtag.js) - Google Analytics