- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机信息查看
一、 概述
1、 完成任务
使用继承、接口技术实现一个计算机信息查看功能。程序运行界面如图 1.1 所示:
图 1.1 计算机信息查看器主界面
使用序列换技术实现对象的保存与读取。
打印信息到文件。打印格式如下:
--------------------- 详 细 清 单 ( 台 式 机 )
名称: Lenovo5050
品牌:联想
CPU 型号:AMD 速龙 64
内存大小:1GB 硬盘大小:160GB
显示器:22 英寸
机箱类型:立式机箱
------------------------- 详
------------------------- 详 细 清
名称: T61
品牌: IBM
CPU 型号:Intel 酷睿 2
内存大小:2GB 硬盘大小:160GB
显示器:14.1 英寸电池容量:7 芯电池
------------------------- 详
细 清 单
单 ( 笔 记 本 )
细 清 单
2、训练的技能点
会使用泛型结合存储不同的子类对象。
会使用 base 调用父类的构造函数。
会使用自定义接口实现某种功能。
会使用 is 判断类型。
会使用 as 转换类型。
(7) 会使用接口作为参数和返回值。
二、 会使用序列换和反序列化对对象进行读取。
二、 分析
1、 功能分析
浏览:用户可以通过列表视图浏览查看器中存贮的所有电脑信息。
查看详细信息:用户可以通过选择列表视图中的某一项,来查看选中电脑的详细信息。
打印:将选中电脑的详细信息打印出来。
2、界面分析
如图 1.1 所示,程序主体界面可分为三部分:第一部分是以“电脑列表”分组框为面板的部分,第二部分是以“电脑详细信息”分组框为面板的部分,第三
部分就是程序界面最下部分的三个按钮。
第一部分含两个控件:1 个分组框(group box )和 1 个列表视图(list view)。
第二部分含 19 个控件:1 个分组框(group box)18 个标签(label)。在
18 个 label 中,9 个用于显示提示,另外 9 个与这 9 个一一对应,分别用于显示相应的“详细信息”。
第三部分含 3 个控件:3 个下压式按钮(button)。界面的详细布局如图 1.1 所示。
3、程序分析
本程序的核心数据是“计算机信息”,所有的操作都围绕着该数据进行的。计算机信息分为两大类:笔记本信息和台式机信息。由此,设计 3 个类:计算机基
类(Computer)、笔记本类(NoteBook)和台式机类(DeskTop)。为了打印需
求,设计 1 个打印机接口(Printable)。其中笔记本类和台式机类继承自计算机基类并且实现打印机接口。为了统一管理计算机信息,设计计算机管理类
(ComputerManager)。各个类和接口的具体信息:
计算机基类类包含属性:型号名称(Name )、品牌(Brand)、CPU(CPU)、内存(Memory )、硬盘(HardDisk)、显示器(Monitor)。
笔记本类包含特有属性:电池(Battery)。
台式机类包含特有属性:机箱类型(HostType)。
计算机管理类:用于从文件中加载计算机信息( Load )以及向文件中写入计算 机 信 息 ( Save ) 。 采 用 泛 型 集 合 Dictionarystring,
Computercomputer 存贮电脑信息。
打印机接口:为笔记本类和台式机类提供统一的打印接口( Print ),由笔记本类和台式机类分别实现。
三、类和接口的设计
根据程序分析部分,设计出如图 1.2 所示类模块。
四、类功能实现
图 1.2 类关系图
笔记本类和台式机类的打印接口 Print 方法实现:使用 StreamWriter 类的 WriteLine 方法,将类的属性信息输出到相关文件。
计算机管理类方法的实现,需给计算机基类、笔记本类、台式机类添加序
列化说明[Serializable] 。
加载信息:public void Load()。使用反序列化,将信息从文件中读取到泛型集合中。
保存信息:public void Save()。使用序列化,将泛型集合信息写入到文件中。
五、主程序功能实现
定义计算机管理类对象 ComputerManager manager。
加载数据。使用 ComputerManager 的 Load 方法从文件中加载信息, 如果存在文件,则将文件中的计算机对象填充到 ListView。如果不存在,则创建不同类型的计算机,并添加到泛型集合中,填充到 ListView 中。
将 泛 型 集 合 中 的 数 据 填 充 到 ListView : private void UpdateComputer (Dictionarystri
文档评论(0)