---------FactoryDemo06----------
import java.io.* ;
import java.util.* ;
interface Fruit
{
// 生长
public void grow() ;
// 采摘
public void pick() ;
}
class Apple implements Fruit
{
public void grow()
{
System.out.println("苹果在生长。。。 ") ;
}
public void pick()
{
System.out.println("摘苹果。。。") ;
}
};
class Orange implements Fruit
{
public void grow()
{
System.out.println("橘子在生长。。。 ") ;
}
public void pick()
{
System.out.println("摘橘子。。。") ;
}
};
class Cherry implements Fruit
{
public void grow()
{
System.out.println("樱桃在生长。。。 ") ;
}
public void pick()
{
System.out.println("摘樱桃。。。") ;
}
};
class WaterMelon implements Fruit
{
public void grow()
{
System.out.println("西瓜在生长。。。") ;
}
public void pick()
{
System.out.println("摘西瓜。。。") ;
}
};
class Banana implements Fruit
{
public void grow()
{
System.out.println("香蕉在生长。。。 ") ;
}
public void pick()
{
System.out.println("摘香蕉。。。") ;
}
};
class DD implements Fruit
{
public void grow()
{
System.out.println("DD。。。 ") ;
}
public void pick()
{
System.out.println("摘DD。。。") ;
}
};
class Factory
{
public static Fruit getFruitInstance(String type)
{
Fruit f = null ;
// 通过Class类完成
try
{
f = (Fruit)Class.forName(type).newInstance() ;
}
catch (Exception e)
{
System.out.println(e) ;
}
return f ;
}
};
// 定义一个新类,此类可以从键盘输入数据
class InputData
{
BufferedReader buf = null ;
public InputData()
{
buf = new BufferedReader(new InputStreamReader(System.in)) ;
}
public String getString()
{
String str = null ;
try
{
str = buf.readLine() ;
}
catch (Exception e)
{
}
return str ;
}
};
class Init
{
public static Properties getPropertiesInit()
{
Properties p = new Properties() ;
try
{
p.loadFromXML(new FileInputStream("lxh.xml")) ;
}
catch (Exception e)
{
}
return p ;
}
};
public class FactoryDemo06
{
public static void main(String args[])
{
Properties p = new Properties() ;
p = Init.getPropertiesInit() ;
System.out.println(p) ;
// 加入一个可以从键盘输入数据的类
System.out.print("输入要使用的子类代码:") ;
String code = new InputData().getString() ;
System.out.println(p.getProperty(code)) ;
Fruit f = Factory.getFruitInstance(p.getProperty(code)) ;
if(f!=null)
{
f.grow() ;
f.pick() ;
}
else
{
System.out.println("没有发现这个类型。") ;
}
}
};
-----------------lxh.xml-----------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>MLDN --> LXH</comment>
<entry key="b">Banana</entry>
<entry key="a">Apple</entry>
<entry key="o">Orange</entry>
<entry key="c">Cherry</entry>
<entry key="d">DD</entry>
</properties>
分享到:
相关推荐
这里我们将深入探讨三种常见的Java设计模式:单例(Singleton)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。 **单例模式(Singleton)** 单例模式确保一个类只有一个实例,并提供一个全局访问点...
SetupFactory是一款功能强大的安装制作工具,它主要用于创建Windows平台下的应用程序安装程序。这款软件以其简单易用、灵活性高和自定义能力强而广受开发者欢迎。"setupfactory9.zip"是SetupFactory的第9个版本的...
Setup Factory 9.01汉化补丁是针对该软件版本的一个关键更新,旨在为用户提供中文界面,方便中国用户理解和操作。Setup Factory是一款强大的安装制作工具,它允许开发者创建专业级别的Windows安装程序,无需深入学习...
《Factory IO:虚拟工厂调试仿真的利器》 Factory IO,这款源自欧洲的软件,被誉为工业自动化领域的瑰宝,尤其在PLC(可编程逻辑控制器)的学习和调试领域中独树一帜。它为用户提供了真实工厂环境的模拟,无论你是...
**Knoll Light Factory** 是一款在视觉特效和后期制作领域广泛应用的高级光线效果插件,尤其在Adobe After Effects(简称AE)中深受专业设计师和艺术家的喜爱。这款插件由John Knoll开发,他是《星球大战》系列电影...
**VB打包利器Setup Factory 7.0详解** 在软件开发领域,尤其是Visual Basic 6.0(VB6.0)的开发过程中,将程序打包成易于分发和安装的安装包是至关重要的步骤。Setup Factory 7.0就是这样一个专为VB6.0设计的强大...
SetupFactory是一款功能强大的安装制作工具,它允许用户创建专业级别的安装程序,用于部署软件到Windows操作系统上。这个“安装制作SetupFactory7.0.rar”压缩包包含的是SetupFactory的7.0版本,它是一个绿色版,...
Setup Factory是一款强大的安装程序制作工具,专为开发者和企业设计,用于创建专业级的Windows安装包。这款软件基于JAVA技术,使得它具有跨平台的能力,同时也保持了与Windows操作系统的高度兼容性。在本文中,我们...
`PS Tray Factory` 是一款系统托盘图标管理工具,它的主要功能是帮助用户管理和优化Windows操作系统中的任务栏通知区域(系统托盘)的图标。这个软件允许用户将不常使用的程序图标隐藏起来,以保持桌面环境的整洁和...
SetupFactory是一款功能强大的安装程序制作工具,主要用于帮助开发者创建专业级别的Windows安装包。这款软件以其易用性和灵活性著称,适合个人开发者以及企业级应用的部署。SetupFactory 7.0是该系列的一个版本,...
SetupFactory是一款专业的安装制作工具,主要用于创建Windows平台下的应用程序安装程序。这个汉化补丁包是针对SetupFactory 9.0.3.0版本的,它使得非英语用户能够更方便地理解和使用这款软件,无需面对英文界面的...
### Setup Factory 安装前静默卸载知识点详解 #### 一、Setup Factory 简介 Setup Factory 是一款功能强大的软件安装制作工具,能够帮助开发者轻松创建专业的安装程序。它支持各种定制化的安装选项,包括但不限于...
PS Tray Factory is a powerful and handy tool meant to flexibly control ALL the other icons in the system tray of the taskbar. PS Tray Factory will help you to manage all the applications that place ...
"Factory IO 电梯模型"是基于Factory IO软件的一个模拟案例,该软件主要用于工业自动化和流程控制系统的教学与设计。在Factory IO中,用户可以创建、模拟和测试各种工厂自动化环境,提升理解和操作技能。电梯模型...
《Factory.IO与西门子博途V16的仿真控制集成详解》 在现代工业自动化领域,模拟仿真已经成为设计和测试控制系统的重要手段。本资源集合是关于“Factory.IO工厂结合西门子博途V16”的一个综合实例,旨在帮助学习者...
Setup Factory 是一款强大的安装程序制作工具,尤其适合那些不熟悉安装程序制作的用户。通过其提供的向导式界面,用户可以轻松创建具有专业外观和功能的安装包。本教程将详细讲解如何使用 Setup Factory 7.0 创建...
标题“Smart Print factory.printing”暗示我们关注的主题是关于智能打印技术在工厂环境中的应用,可能涉及自动化、高效能的打印解决方案。描述部分的字符串看似随机,无法提供具体信息,因此我们将主要依据标签...
SetupFactory_winform安装包打包流程 SetupFactory是一款功能强大且易于使用的安装包制作工具,广泛应用于Windows平台的软件安装包制作中。下面将对SetupFactory打包winform流程进行详细的介绍。 Step 1: 设置...
《AE插件 灯光工厂 Knoll Light Factory深度解析》 在数字视觉艺术的世界里,Adobe After Effects(AE)是一款强大的后期制作软件,而Knoll Light Factory则是AE中的一个不可或缺的灯光效果插件,它为创作者提供了...
Factory IO则是一款功能丰富的工厂模拟软件,可以帮助工程师在虚拟环境中测试和验证自动化系统的性能。下面将详细探讨这些知识点: 1. **三菱PLC**:三菱PLC是工业自动化领域的核心设备,主要负责接收来自传感器和...