已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验五抽象工厂方法设计模式专业:软件工程 班级:java2班 实验日期:2015年 3 月 14 日 报告退发 (订正 、 重做) 学号:123012012137 姓名:张超红实验目的:加深对抽象工厂方法设计模式及创建型设计模式原理的理解实验环境:C#.Net/VC+.Net或MyEclipse(Java)等实验内容: 某单据管理系统中要求实现对采购、销售、库存的单据管理,系统的采购类的单据中有如采购单、收货单、应付帐单、付款单和退货单等,现使用抽象工厂方法设计模式设计该系统。实验过程:1、构建实现场景,给出需求中的问题描述2、画出UML类图 3、实现代码package Factory;import entity.ActuallyBills;import entity.OriginalBills;import entity.PurchaseForm;import entity.ReceiveGoodsForm;import entity.ReturnGoodsForm;import PurchaseModule.AbstractPurchaseForm;import PurchaseModule.AbstractSaleForm;import PurchaseModule.AbstractStockForm;/* * * author 张超红 * 采购订单类工厂 */public class PurchaseFactory implements AbstractFactory public PurchaseFactory() / TODO 自动生成的构造函数存根/采购单据Overridepublic AbstractPurchaseForm createPurchase() / TODO 自动生成的方法存根return new PurchaseForm();/退货单据public AbstractPurchaseForm createReturnGoodsForm()return new ReturnGoodsForm();/实际支付单据public AbstractPurchaseForm createActualllyBills()return new ActuallyBills();/应该支付单据public AbstractPurchaseForm createOrignalBills()return new OriginalBills();/收货单public AbstractPurchaseForm createReceiveGoodsBills()return new ReceiveGoodsForm();public AbstractStockForm createStock() / TODO 自动生成的方法存根return null;public AbstractSaleForm createSale() / TODO 自动生成的方法存根return null;package Factory;import entity.BankTransferForm;import entity.BorrowingForm;import entity.CashExpenseAccount;import PurchaseModule.AbstractPurchaseForm;import PurchaseModule.AbstractSaleForm;import PurchaseModule.AbstractStockForm;public class SaleFactory implements AbstractFactory public SaleFactory() / TODO 自动生成的构造函数存根Overridepublic AbstractPurchaseForm createPurchase() / TODO 自动生成的方法存根return null;public AbstractStockForm createStock() / TODO 自动生成的方法存根return null;/现金支付销售public AbstractSaleForm createSale() / TODO 自动生成的方法存根return new CashExpenseAccount();/借款单据销售public AbstractSaleForm createBorrowingForm()return new BorrowingForm();/银行转账销售public AbstractSaleForm createBankTransffer()return new BankTransferForm();package Factory;import entity.StockOutForm;import entity.StockRntryForm;import PurchaseModule.AbstractPurchaseForm;import PurchaseModule.AbstractSaleForm;import PurchaseModule.AbstractStockForm;public class StockFactory implements AbstractFactory public StockFactory() / TODO 自动生成的构造函数存根Overridepublic AbstractPurchaseForm createPurchase() / TODO 自动生成的方法存根return null;/入库public AbstractStockForm createStock() / TODO 自动生成的方法存根return new StockRntryForm();/出库public AbstractStockForm OutStock()return new StockOutForm();public AbstractSaleForm createSale() / TODO 自动生成的方法存根return null;package PurchaseModule;/* * * author 张超红 * */public interface AbstractPurchaseForm extends Form void display();package PurchaseModule;public interface AbstractStockForm extends Form void display();package PurchaseModule;public interface AbstractSaleForm extends Form void display();package entity;import java.util.Collection;import java.util.Date;import PurchaseModule.AbstractPurchaseForm;public class PurchaseForm implements AbstractPurchaseForm String form_no;Date date;String CreateFormPerson;String tax_items;/税目Collection dataCollection;/导入单据String data;/单据public void add()System.out.println(添加单据.);public void delete()System.out.println(删除单据.);public void print()System.out.println(打印.);public void examine()System.out.println(审批.);public PurchaseForm() / TODO 自动生成的构造函数存根Overridepublic void display() / TODO 自动生成的方法存根System.out.println(您的采购单据中的采购单如下.);package Util;import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class XMLUtil public static Object getBean() try System.out.println(正在从配置文件中读取数据.);/ 创建DOM文档对象DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = dFactory.newDocumentBuilder();Document doc;doc = builder.parse(new File(config.xml);/ 获取包含类名的文本节点NodeList nl = doc.getElementsByTagName(className);Node classNode = nl.item(0).getFirstChild();String cName = classNode.getNodeValue();/ 通过类名生成实例对象并将其返回Class c = Class.forName(Factory.+cName);Object obj = c.newInstance();System.out.println(=+obj);return obj; catch (Exception e) e.printStackTrace();System.out.println(e.getMessage();return null;package test;import PurchaseModule.AbstractPurchaseForm;import Util.XMLUtil;import entity.PurchaseForm;import Factory.AbstractFactory;pu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026秋季国家管网集团北方管道公司高校毕业生招聘考试备考试题(浓缩500题)带答案详解(培优b卷)
- 2026秋季国家管网集团甘肃公司高校毕业生招聘笔试参考题库(浓缩500题)附答案详解(完整版)
- 2025国网海南省电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题及答案详解(基础+提升)
- 国家管网集团湖南公司2026届秋季高校毕业生招聘笔试备考试题(浓缩500题)及参考答案详解
- 2026秋季国家管网集团北方管道公司高校毕业生招聘考试参考题库(浓缩500题)含答案详解(能力提升)
- 2026秋季国家管网集团工程技术创新公司(国家管网集团造价管理中心)高校毕业生招聘考试备考试题(浓缩500题)含答案详解(达标题)
- 2026国网安徽省电力公司高校毕业生提前批招聘笔试参考题库浓缩500题及答案详解(新)
- 2026秋季国家管网集团广西公司高校毕业生招聘考试参考试题(浓缩500题)附参考答案详解(轻巧夺冠)
- 2026国网甘肃省电力公司高校毕业生提前批招聘笔试参考题库浓缩500题附答案详解(a卷)
- 2025年国家管网集团高校毕业生招聘备考试题(浓缩500题)附参考答案详解(典型题)
- 浙江省稽阳联谊学校2024-2025学年高三上学期11月联考地理试题
- 糖尿病临床营养治疗
- 华为采购理念与采购运作剖析
- 铁路120型货车空气控制阀
- 3项目二 鳜鱼的养殖技术
- 新标准大学英语视听说教程(二)听力原文
- 卫健委健康科普宣传员职责
- 《居住区供配电设施建设规范》
- 初中英语课堂惩罚小游戏1++课件
- 2024压力管道检验员实际操作考试规程
- 传染病科工作中的舆情管理与危机应对
评论
0/150
提交评论