java工厂备件管理系统

Java的几个工厂方法解析

Java工厂模式可分为三种:

1.静态工厂模式

2.工厂方法模式

3.抽象工厂模式

一、静态工厂模式:用静态的方法实现,其创建的对象具有一定的特性

举例如下:

Vehicle类:

public abstract class Vehicle

{

private String name;

public Vehicle (){

super();

}

public Vehicle (String name){

super();

this.name=name;

}

public abstract void run();

public String getName(){

return name;

}

public void setName(String name){

this.name=name;

}

}

Bus类:

public class Bus extends Vehicle

{

private String name;

public Bus(){}

public Bus(String name){

super(name);

}

@Override

public abstract void run(){

System.out.println(“Bus is running”);

}

}

Car类:

public class Car extends Vehicle

{

private String name;

public Car(){}

public Car(String name){

super(name);

}

@Override

public abstract void run(){

System.out.println(“Car is running”);

}

}

静态工厂类:

(静态工厂创建一个对象,

静态工厂创建的对象一般都有一个共同的特性,

继承自某一个类,

或者引用一个接口)

public class StaticFactory{

public static Object getInstance(String className){

Object instance=null;

try{

Class c=Class.forName(className);

instance=c.newInstance();

}catch(Exception e){}

return instance;

}

public static Object getInstance(String className,Object …args){

Class c=null;

try{

c=Class.forName(className);

}catch(Exception e){}

Constructor[] cons=c.getConstructors();

Object instance=null;

for(Constructor con:cons){

Class?[] cs=con.getParmeterTypes();

if(cs.length0){

boolean isConstructor=true;

for(int i=0;ics.length;i++){

Class t=cs[i];

if(!t.isInstance(args[i])){

isConstructor=false;

}

}

if(isConstructor){

try{

instance=con.newInstance(args);

break;

}catch(Exception e){}

}else{

continue;

}

}

}

return instance;

}

}

二、工厂方法模式:主要是对各类东西分类生产,但分类生产的对象仍然具有某一特性。

如果说静态工厂是一个综合的交通工具建造工厂,

那么工厂方法模式就是具体分工,分成Bus与Car的工厂,

各自生产各自的产品,但是造出来的还是交通工具。

交通工具制造接口:

public interface VehicleMake{

/**制造交通工具**/

public Vehicle make();

}

Bus制造类:

public class BusMake implements VehicleMake{

@Override

public Vehicle make(){

Vehicle bus=new Bus();

System.out.println(“Bus工厂制造了一辆Bus”);

return bus;

}

}

Car制造类:

public class CarMake implements VehicleMake{

@Override

public Vehicle make(){

Vehicle car=new Car();

System.out.println(“Car工厂制造了一辆Car”);

return car;

}

}

三、抽象工厂模式:抽象工厂生产的对象可能是没有共同特性的。比如,一个制造工厂BusMake不仅能制造Bus还能生产轮胎wheel等配件,Bus是交通工具,wheel是配件(代码中有部分类没具体写出来只给了类名)

总工厂(抽象工厂总接口):

public interface WheelVehicleMake extends VehicleMake{

/**制造轮胎**/

public Wheel makeWheel();

}

轮子BusMake:

public class WheelBusMake implements WheelVehicleMake{

@Override

public Vehicle make(){

Vehicle bus=new Bus();

System.out.println(“WheelBusMake生产了一辆Bus”);

return bus;

}

@Override

public Wheel makeWheel(){

Wheel busWheel=new BusWheel();

System.out.println(“WheelBusMake生产了一个Bus轮子”);

return busWheel;

}

}

轮子CarMake:

public class WheelCarMake implements WheelVehicleMake{

@Override

public Vehicle make(){

Vehicle car=new Car();

System.out.println(“WheelCarMake生产了一辆Car”);

return car;

}

@Override

public Wheel makeWheel(){

Wheel carWheel=new CarWheel();

System.out.println(“WheelCarMake生产了一个Car轮子”);

return carWheel;

}

}

求java工厂模式的一个简单代码例子,尽量简单

这个应该比较简单一点。

某系统日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等,且用户可以根据要求动态选择日志记录方式。现使用工厂方法模式设计该系统,并写出相应Java代码。

interface Log{

    public void writeLog();

}

class FileLog implements Log{

    public void writeLog(){

        System.out.println(“文件记录”);

    }

}

class DatabaseLog implements Log{

    public void writeLog(){

        System.out.println(“数据库记录”);

    }

}

interface LogFactory{

    public Log createLog();

}

class FileLogFactory implements LogFactory{

    public Log createLog(){

        return new FileLog();

    }

}

class DatabaseLogFactory implements LogFactory{

    public Log createLog(){

        return new DatabaseLog();

    }

}

public class Client{

    public static void main(String[] args) {

        try{

            Log log;

            LogFactory factory;

//这里可以改成使用DOM和Java反射机制读取XML文件,获取工厂类名

            factory=new DatabaseLogFactory ();

            log=factory.createLog();

            log.writeLog();

        }

        catch(Exception e){

            System.out.println(e.getMessage());

        }

    }

}

java工厂备件管理系统

java,sqlserver 2000 开发仓库备件管理系统怎么弄,寻求高手帮助!! 方便的话留个联系方式!

可以凭借百度Hi提醒我

有时间可以解决你的问题

更进一步的要求也可以提醒我

ES:\\C991887B42669E61605472D63B6D8AEF

交易提醒:预付定金是陷阱

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月26日 06:20:14
下一篇 2024年3月26日 06:28:31

相关推荐

  • java订单管理系统原理,java 订单系统

    用JSP构建三层管理信息系统 为了更好地说明用JSP/Servlet构建三层式管理信息系统的方法,作者将举例分析设计一个商品邮购管理信息系统。 首先一个合格的仓储管理系统要可以和企业的ERP系统提供完美的数据接口,同时可以提供硬件接口,诸如手持式条码扫描终端、条码打印机等等。 在解决方案上添加DAL类库 在解决方案上添加Model类库 整个工程就建立好了,然…

    2024年5月22日
    4800
  • java银行登录流程图,java程序银行管理系统

    用java编写模拟网上银行登录及存取款业务 1、以前写过一个小程序,没有开户过程,初始录入一个账户。有存款,取款,查看交易详情。 2、你好!可以参考著名的生产者消费者例子 希望对你有所帮助,望采纳。 3、可写入文本文档或是用xml 可担当小数据库的功能(但不是数据库)。 4、这个这个。。得花点时间写,还要设计数据库。。 关于JAVA程序流程图的编写 1、相信…

    2024年5月22日
    5300
  • java物质管理系统,java物品管理系统

    求java编写的仓库管理系统源代码或详细设计 1、既然是商品库存系统,那么最少有各种商品的单件信息,1:需要有商品的进货价格,卖出价格,剩余数量,每月的销售数量,进货时间等,在对应的数据库表创建相应的字段。 2、首先要清楚你要做的项目的用途是什么,要实现那些功能,分哪些模块。 3、仓库管理信息系统-详细设计说明书引言:1编写目的:在前一阶段(概要设计说明书)…

    2024年5月22日
    3900
  • 学生管理系统v6.0c语言,学生管理系统C语言项目总结

    按以下要求,用C语言编一个程序——简单学生管理系统,使用的是VC++6.0这… 1、总体要求:系统功能齐全,运行结果正确,用户界面友好,使用简单方便。 系统数据要求:学生信息如下:学号、姓名、年龄、所在系、3门课程名称及成绩、总分、平均分。 2、用C语言编写一个学生成绩管理系统。 20 学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文…

    2024年5月21日
    4400
  • c语言简单的管理系统,c语言简单管理系统欢迎界面

    C语言,编写一个简单的通讯录管理系统?? 1、用c语言程序设计一个学生通讯录系统 10 问题描述:通讯录管理系统主要管理用户通讯录的基本信息。在系统中,每个用户是一条记录,包括姓名、电话号码、通讯地址。系统要对一个有N个用户的通讯录统一进行管理。 2、C语言程序设计 通讯录系统管理 需求分析问题根据需求,该系统所应包含的信息有以下一些:通讯录的基本信息:姓名…

    2024年5月21日
    4900
  • 简单工厂工厂方法模式java,java简单工厂模式及代码

    java简单工厂模式是什么 (1)简单工厂模式: 建立一个工厂类,并定义一个接口对实现了同一接口的产品类进行创建。 工厂模式就是在接口和子类之间加入了一个过渡端,通过此过渡端获得接口的实例化对象,这个过渡端也就是所谓的工厂类。 工厂模式的几种形态: l 简单工厂模式。又称静态工厂模式。 l 工厂方法模式。Factory Method,又称多态工厂或虚拟构造子…

    2024年5月21日
    4400
  • java食堂售饭系统,点餐管理系统java

    饭卡机的系统分析 为了提高食堂的管理水平,建立一套微机信息管理系统,由窗口机群构成前台销售终端,负责售饭及采集全部售饭数据;由586以上PC机构成后台管理机,用于对整个食堂的信息进行统一管理;查询核算,分析消费情况、编制各种就餐报表。 ) 系统由售饭终端、增款终端、通讯网卡、管理软件、消费卡组成。员工持系统发行的消费卡到消费窗口进行消费,终端机通过CAN总线…

    2024年5月20日
    4100
  • c语言停车场管理系统,c语言停车场管理系统流程图

    用C语言编一个停车场管理系统 1、cout\t|本程序为停车场的模拟管理系统,有车到来时请按C键。|\n\n; cout\t|然后根据屏幕提示进行相关操作,有车要走时请按l键。|\n\n; cout\t|然后根据屏幕提示进行相关操作,查看停车场请按D键。 2、然后,构建函数显示信息,这个简单,void display_cargo_info(…)(…

    2024年5月19日
    5500
  • 用excel建立一套小型人事数据管理系统,excel做人力资源表格系统

    怎么使用excel制作档案管理软件? 打开计算机,在计算机桌面找到并打开excel,新建一个客户档案工作表。输入公司所需的详细客户信息项目。合并客户文件位于中心、字体歌曲正文、字体大小为20的单元格。 打开excel,新建工作表;输入建立客户档案需要的内容条目(如图所示);将客户档案合并居中,调整字体大小;调整表格字体大小、格式,调整行高、列宽,居中所有文字…

    2024年5月18日
    4700
  • 作业管理系统java源码,作业管理系统java源码有哪些

    学生考试管理系统,JAva源代码 1、我这里刚刚有一个“网上考试系统”,大三时候Java的考试,非桌面程序,是Web程序,用的都是Java基础,功能除了你所说的对学生的增删改查(包含在系统的考生管理模块里面)以外,还包括对试题的操作,笔试成绩的录入,后门程序修改成绩。 2、系统功能模块:菜单栏:操作、管理、工具、帮助。操作:修改密码;切换用户;退出系统。 3…

    2024年5月18日
    3800

发表回复

登录后才能评论



关注微信