//工厂类必须有:1接口、2、实现接口的类 3、返回接口的工厂 //对象返回的是接口,也是多态。 public class Factory { public static FruitInterface productionFruit(String name){ //返回的是接口 FruitInterface ff = null; //获得当前包路径 //静态方法里面不能用this。 //static表示静态属性因为不能在静态方法调用非静态。this表示当前属性。 String packName = new Factory().getClass().getPackage().getName(); // 通过反射获取对象 try { ff = (FruitInterface)Class.forName(packName+"."+name).newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ff; } } //main函数 package com.test; public class FruitMain { public static void main(String[] args) { FruitInterface fruit = Factory.productionFruit("Apple"); fruit.dead(); FruitInterface fruit2 = Factory.productionFruit("Orange"); fruit2.grow(); } } //orange实现类 package com.test; public class Orange implements FruitInterface { @Override public void dead() { System.out.println("orange dead"); } @Override public void grow() { System.out.println("orange grow"); } } package com.test; //apple实现类 public class Apple implements FruitInterface{ @Override public void dead() { System.out.println("apple dead"); } @Override public void grow() { System.out.println("apple grow"); } } package com.test; //接口 public interface FruitInterface { void grow(); void dead(); }
相关推荐
工厂模式是一种常用的软件设计模式,它是创建型设计模式的一种,主要解决对象的创建问题,将对象的创建过程封装起来,使得创建过程独立于使用过程。这样可以提高代码的可复用性和灵活性,同时降低了系统的耦合度。...
3. Qt工厂模式工程 4. Qt工厂模式例程 5. Qt工厂模式例子 6. 简单工厂模式 部分源码实例: // 奔驰工厂 class BenzFactory : public AFactory { public: ICar* CreateCar() { return new BenzCar(); } }; // ...
在软件设计模式中,工厂模式是一组非常基础且实用的设计模式,主要分为简单工厂模式、工厂方法模式和抽象工厂模式。这些模式都是为了解决对象创建的问题,通过封装对象的创建过程,使得代码更加灵活,易于扩展和维护...
在软件工程中,设计模式是解决常见问题的模板或最佳实践。工厂模式是其中最常用的一种,它提供了创建对象的最佳方式。在这个压缩包中,包含了三种工厂模式的C++实现:简单工厂模式、工厂方法模式以及抽象工厂模式。...
"设计模式单例模式和工厂模式综合应用"的主题聚焦于两种常用的设计模式:单例模式和工厂模式,并探讨它们如何协同工作来实现高效、灵活的代码结构。这个主题尤其适用于Java编程语言,因为Java的面向对象特性使得设计...
本文将探讨三个重要的设计模式:抽象工厂模式、工厂方法模式以及策略模式,并结合一个实际的场景——手机加工厂,来具体阐述它们的应用。 首先,我们来看**抽象工厂模式**。这个模式主要用于创建相关或依赖对象的...
《工厂模式源代码》 工厂模式是软件设计模式中的一种,属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当我们创建对象时,不会直接实例化具体的产品类,而是通过一个共同的接口或者抽象类,即工厂...
工厂模式,也称为工程模式或调试模式,是制造商为了测试和调整设备功能而设置的一种特殊模式。在这个模式下,用户可以访问和修改通常隐藏的高级设置,包括地图数据、系统参数以及硬件诊断。下面我们将详细介绍如何...
**简单工厂模式**是软件设计模式中的一种,属于创建型模式。在Java编程中,它是一种用于创建对象的简便方法,将对象的实例化过程封装到一个单独的工厂类中,使得客户端代码无需直接调用具体类的构造函数,而是通过...
其中,"工程模式"是一个特殊的功能,通常隐藏在系统深处,主要用于制造商进行硬件测试和调试。对于用户而言,进入工程模式可以获取更多关于手机硬件的信息,进行高级设置,甚至解决一些特定问题。本篇文章将详细介绍...
以下是关于JAVA设计模式中提及的四种模式——工厂模式、代理模式、迭代器模式以及责任链模式的详细说明。 1. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建...
工厂方法模式和抽象工厂模式是两种常见的设计模式,它们都属于创建型模式,用于解决对象的创建问题。在软件设计中,这两种模式都是用来隔离对象的创建和使用,以提高系统的灵活性和可扩展性。 首先,工厂方法模式的...
在软件设计模式中,工厂模式是一种非常基础且实用的模式,它主要用来解决对象创建的问题,使得代码在面对多种产品类时保持灵活和解耦。本文将深入探讨三种工厂模式:简单工厂模式、工厂方法模式以及抽象工厂模式,并...
测试机型:32m3095(其它机型未试,大同小异,自行测试) 测试时间:2022.06.15 进入酒店模式好处:可以设置...进入工厂模式好处:可以设置不正常的颜色,声音。恢复系统默认设置。好多功能,是英文的,我看不懂。
在软件工程中,当系统需要在运行时选择不同的产品族时,或者想要隔离具体产品的实现细节时,抽象工厂模式就显得尤为重要。 首先,我们来看一下“抽象工厂模式+反射技术”。在Java或其他面向对象的语言中,反射是一...
在Java编程语言中,工厂模式通常分为简单工厂模式、工厂方法模式和抽象工厂模式三种类型。这些模式都是围绕着一个中心思想:将对象的实例化过程封装起来,使代码更加灵活且易于维护。 1. **简单工厂模式**: 简单...
将单例模式与工厂模式结合,可以创建一个单例工厂,这个工厂类负责生成单例对象。这样做有两个主要好处:一是隐藏了单例的实现细节,使得代码更加整洁,降低了耦合度;二是可以通过工厂方法扩展新的实现,如果将来...
工厂模式是软件设计模式中的一种基础模式,它在对象创建方面提供了一种抽象化的方式,使得代码在实例化具体类时更加灵活。这个压缩包文件可能是关于如何在实际项目中运用工厂模式的教学材料,特别适合那些正在学习...
工厂模式是一种常用的设计模式,它是创建型模式的一种,主要用于解决对象创建的问题。在软件工程中,当类的数量庞大且它们之间存在复杂的依赖关系时,直接实例化对象可能会导致代码复杂度增加,不易维护。工厂模式...
在软件设计模式中,工厂方法模式(Factory Method Pattern)和抽象工厂模式(Abstract Factory Pattern)是两种常用的创建型设计模式,它们都属于“工厂”家族,但有着不同的应用场景和目标。 工厂方法模式的核心...