版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大连东软信息学院三级项目报告课程名: JAVA语言程序设计 实践项目: 采购管理系统项目 学 院: 大连东软信息学院 组长姓名: 指导教师: 邵欣欣 2013年6月10日- 15 - / 16文档可自由编辑打印第1章 构思请对系统的需求进行详细的介绍(150字以上)正文(以下章节凡语言描述部分都依照此格式要求)(格式要求:空两格、小四号宋体,1.5倍行距) 公司想投资研发新产品,生产制造并进行市场销售此种商品借此盈利。根据这样的问题,如何根据市场需求选择此种商品就成了需要解决的重要问题。于是借用随机数与switch选择语句结合,最终的选择结果用以模拟对市场进行调研的结果。由名为顺风耳的市场调查
2、员来完成此工作,最后根据他的调查结果开发并生产新产品。系统中有一个抽象的商品类(Goods),作为其子类的父类,定义所有产品所共有的属性和方法。之后每个商品作为该商品类的一个子类,定义其附加的属性、构造方法以及方法,并实现商品类中的抽象方法,用以模拟实现每一件商品的研发生产和销售过程。本小组项目中总共包含一个商品类Goods和六个具体的商品类Computer, XBox,Camera,Keyboard,Mobile phone作为该商品类的子类,实现具体商品的研发生产和销售过程。同时小组程序中还包含两个类。Market Inquirer类用以模拟市场行情的变化,并返回热销产品的名称。Facto
3、ry类用以返回创建该热销产品的对象,并用以实现具体的商品类中的研发,生产和销售的方法。最终用boss类创建各个类的对象并调用对应方法,最终实现该管理系统进行市场调研并根据调研结果开发新产品的目的。第2章设计2.1应用的知识点(1)类与对象的创建,包括属性定义,方法定义和对象的创建。(2)访问权限修饰符的使用,包括默认修饰符和private,protected和public。方法和构造方法修饰符一般用public,属性一般为private,对于私有属性用访问器和设置器方法进行访问和修改。(3)无参构造方法的定义,给类中的属性对象赋初始值。创建对象中调用该构造方法,用于对象的初始化。(4)构造方法
4、与一般方法的区别。(5)对方法的调用:对象调用和类调用,有返回值的方法对方法的调用就当做处理一个值,没有返回值的调用就当做处理一条语句。(6)类的继承。Java是单重继承,每个类都有一个父类,未定义的则继承Object类。子类可以继承父类的属性和构造方法,子类可以添加新的属性和方法,子类可以重新定义父类的属性和方法。(7)子类是父类的特例,子类的对象也可以看做父类的对象。(8)子类中定义了一个与父类方法头相同的方法,称为方法的覆盖。子类方法与父类方法的修饰符可以不同,但是子类方法只能扩大父类方法中的访问权限。(9)抽象类只能用于继承,不能用于创建对象。(10)抽象方法(abstract修饰)只
5、有方法头没有方法体,只能定义在抽象类中,强制抽象方法必须在其子类中被实现。(11)子类中必须覆盖抽象类中的全部抽象方法。(12)this关键字用来指代当前类中的当前对象,可用来调用当前对象的成员。(this可以用来调用当前的构造方法,但必须写在构造方法中的第一条)。(13)Java包的引入。(14)数组的声明,初始化以及应用。(15)字符串的声明,初始化以及String类中的常用方法。2.2功能介绍项目主要通过作为父类的抽象类goods和作为子类的具体商品类Mobile Phone等的编写,模拟实现具体商品的研发生产制造功能。同时通过Market Inquire类实现模拟市场调研结果,用Fac
6、tory类辅助实现测试类功能的Boss类,利用多态性,创建对象并实现各个具体商品类之中研发,生产和销售的方法。同时本小组还利用极其有限的图形用户界面设计的知识在程序实现目的功能的基础之上进行了少部分的功能添加。导入JAVA中JDK中的抽象窗口工具集的Swing包,实践一个简单的“显示调研结果”事件处理。第3章实施3.1类的编写GOOD类package 产品管理;public abstract class Goods protected String gno;protected String gname;protected double gprice;abstract void research
7、();/* * 生产制造 */abstract void product();/* * 投入市场 */abstract void sell();package 产品管理;fatory类public class Factory public static Goods fatory(String which) if (which.equalsIgnoreCase("camera") return new Camera(); else if (which.equalsIgnoreCase("computer") return new Computer(); e
8、lse if (which.equalsIgnoreCase("mobilephone") return new MobilePhone(); else if (which.equalsIgnoreCase("XBox") return new XBox(); else if (which.equalsIgnoreCase("Keyboard") return new Keyboard(); else return null;Keyboard类package 产品管理;public class Keyboard extends Goo
9、ds protected String brand;protected String type;protected int a;Keyboard() brand = "联想"type = "K123"gname = "键盘"gprice = 68;public void research() for (int i = 0; i <= 100; i+) a = (int) (Math.random() * 2 + 1);System.out.println(brand + type + gname + "正在研究开发中.
10、");if (a = 1) System.out.println(brand + type + gname + "研发成功!");break; elseSystem.out.println(brand + type + gname + "研发失败!即将进行重新研发");public void product() a = (int) (Math.random() * 10000);System.out.println(brand + type + gname + "产品制造生产中");System.out.println(br
11、and + type + gname + "已制造成功!" + "n" + "共生产了" + a+ "件" + brand + type + gname);public void sell() System.out.println(brand + type + gname + "产品热销中");System.out.println(brand + type + gname + "已经销售一空!");System.out.println("商品型号为:" +
12、 type);System.out.println("商品名称为:" + gname);System.out.println("商品品牌为:" + brand);System.out.println("商品市场价格为:" + gprice);MarketInquirer类package 产品管理;public class MarketInquirer String name;MarketInquirer(String name) = name;/* * 该方法模拟市场行情的变化,并返回热销产品的名称! */public String
13、inquirer() switch (int) (Math.random() * 6) /多重选择case 0:report("相机");return "camera"case 1:report("电脑");return "computer"case 2:report("手机");return "mobilephone"case 3:report("XBox");return "XBox"case 4:report("键盘&q
14、uot;);return "Keyboard"default:report("键盘");return "Keyboard"private void report(String hotFruit) System.out.println("市场调研员" + name + "报告:经过周密调研,今年" + hotFruit+ "会有好销路,请生产!");MobilePhone类package 产品管理;public class MobilePhone extends Goods /
15、* * 添加需要的属性和构造方法 */protected String brand;protected int a;MobilePhone() brand = "HTC"gno = "111"gname = "智能手机"gprice = 1230;/* * 实现父类中的research() */public void research() for (int i = 0; i <= 100; i+) a = (int) (Math.random() * 2 + 1);System.out.println(brand + gno +
16、 gname + "正在研究开发中");if (a = 1) System.out.println(brand + gno + gname + "研发成功!");break; elseSystem.out.println(brand + gno + gname + "研发失败!即将进行重新研发");/* * 实现父类中的product() */public void product() a = (int) (Math.random() * 10000);System.out.println(brand + gno + gname +
17、"正在制造生产中");System.out.println(brand + gno + gname + "已经制造成功!" + "n" + "共生产了" + a+ "件" + brand + gno + gname);/* * 实现父类中的sell() */public void sell() System.out.println(brand + gno + gname + "正在市场销售中");System.out.println(brand + gno + gname +
18、 "已经销售一空!");System.out.println();System.out.println("商品品牌为:" + brand);System.out.println("商品型号为:" + gno);System.out.println("商品名称为:" + gname);System.out.println("商品价格为:" + gprice);Xbox类package 产品管理;public class XBox extends Goods protected int b;XBox
19、() gno = "10120900128"gname = "XBox360"gprice = 1800;System.out.println("商品批号为:" + gno);System.out.println("商品名为:" + gname);System.out.println("市场价为:" + gprice);int a = new int2;int i = 0;void num() ai = (int) (Math.random() * 2) + 1;void research()
20、for (int i = 0; i <= 100; i+) System.out.println(gno + gname + "正在研究中");num();if (ai = 1)System.out.println(gno + gname + "研发失败!即将进行重新研发");else System.out.println(gno + gname + "研发成功!");break;void product() b = (int) (Math.random() * 10000);System.out.println(gno + g
21、name + "正在生产中");System.out.println(gno + gname + "生产结束!" + "n" + "共生产了" + b + "件"+ gno + gname);void sell() System.out.println(gno + gname + "市场销售中");System.out.println(gno + gname + "已经销售一空!");Camera类package 产品管理;public class Cam
22、era extends Goods /* * 添加需要的属性和构造方法 */protected String style;protected int a;Camera() gno = "00001"gname = "相机"style = "sony"gprice = 200;/* * 实现父类中的research() */public void research() for (int i = 0; i <= 100; i+) a = (int) (Math.random() * 2 + 1);System.out.println
23、(gno + style + gname + "正在研究开发中.");if (a = 1) System.out.println(gno + style + gname + "研发成功!");break; elseSystem.out.println(gno + style + gname + "研发失败!即将进行重新研发");/* * 实现父类中的product() */public void product() a = (int) (Math.random() * 10000);System.out.println(gno + s
24、tyle + gname + "正在制造生产中.");System.out.println(gno + style + gname + "已经制造成功!" + "n" + "共生产了" + a+ "件" + gno + style + gname);/* * 实现父类中的sell() */public void sell() System.out.println(gno + style + gname + "正在市场销售中.");System.out.println(gno
25、+ style + gname + "已经销售一空!");System.out.println();System.out.println("商品型号为:" + gno);System.out.println("商品名称为:" + gname);System.out.println("商品类型为:" + style);System.out.println("商品市场价格为:" + gprice);Computer类package 产品管理;public class Computer extends
26、 Goods /* * 添加需要的属性和构造方法 */protected String style;protected int a;Computer() gno = "1000"gname = "笔记本电脑"style = "戴尔"gprice = 5500;/* * 实现父类中的research() */public void research() for (int i = 0; i <= 100; i+) a = (int) (Math.random() * 2 + 1);System.out.println(gno + s
27、tyle + gname + "正在研究开发中.");if (a = 1) System.out.println(gno + style + gname + "研发成功!");break; elseSystem.out.println(gno + style + gname + "研发失败!即将进行重新研发");/* * 实现父类中的product() */public void product() a = (int) (Math.random() * 10000);System.out.println(gno + style + g
28、name + "正在制造生产中");System.out.println(gno + style + gname + "已经制造成功!" + "n" + "共生产了" + a+ "件" + gno + style + gname);/* * 实现父类中的sell() */public void sell() System.out.println(gno + style + gname + "正在市场销售中");System.out.println(gno + style +
29、gname + "已经销售一空!");System.out.println();System.out.println("商品型号为:" + gno);System.out.println("商品名称为:" + gname);System.out.println("商品品牌为:" + style);System.out.println("商品市场价格为:" + gprice);3.2 主程序的编写package 产品管理;import java.awt.*;import java.awt.even
30、t.*;import javax.swing.*;public class Boss implements ActionListener/* * 公司根据市场调查员的反馈,安排一年的生产计划! * param args */JFrame frame;JDialog dialog;JButton button;String sname=" "public static void main(String args)System.out.println("请输入调研员姓名:");String sname = "顺风耳"Boss jd=new Boss();jd.go();sname="优秀市场调研员"+sname+"的调研结果为公司带来了巨大经济收益!"System.out.println(sname);public void go()MarketInquirer mi = new Market
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 孤残儿童日常护理中的社交技能培养
- 呼吸机管道的维护与管理
- 2025年一级造价工程师考试《建设工程造价管理》真题及解析
- 护理教育:融入鱼骨图思维训练
- 护理人性化服务与护理文化
- 【中考真题】黑龙江省齐齐哈尔市2026年初中学业水平考试生物学试卷(解析版)
- 护理未来趋势
- 手术室护理神经外科护理
- 护理三基:静脉输液静脉抽血技术
- 2026普通销售面试题目及答案
- 杉木人工林抚育经营技术规程
- 西南师大版五年级下册异分母分数加减混合运算练习400题及答案
- 高三化学二轮复习16-小专题-硅酸盐阴离子结构专题
- 安全用药管理培训内容
- 冠脉造影识图
- 公司精益项目收益核算方法
- 《C语言入门教程》课件
- 辽宁省沈阳市皇姑区2022-2023学年六年级下学期期末质量监测语文试卷
- 中国慢性呼吸道疾病呼吸康复管理指南(2021年)
- 2022年第一师阿拉尔市招募三支一扶计划人员考试真题及答案
- 新北师大版五年级下册分数乘除法计算专项训练
评论
0/150
提交评论