第5章 体检套餐管理系统
1,课程内容回顾
第1章:深入.NET框架
.NET框架组件
CLR的作用及组成
.NET程序编译过程
.NET核心类库及命名空间
第2章 深入C#数据类型
类、对象、属性、封装
类图
结构
拆箱装箱
值类型和引用类型
静态成员和静态方法
第3章 使用集合组织相关数据
操作集合实现元素的增、删、查、遍历
ArrayList
Hashtable
操作泛型集合实现元素的增、删、查、遍历
List
Dictionary
泛型
第4章 深入类的方法
构造函数
方法重载
类之间通信
2,知识梳理
类和对象
对象
类
类和对象的关系
创建类:
创建类的属性:只读、只写、验证逻辑
方法:无参无返回值、带参无返回值、无参有返回值、带参有返回值
构造函数:有参构造函数、无参构造函数
方法重载
静态方法
对象间互操作
对象相互协同工作,共同完成软件功能
封装
消息传递
值类型和引用类型
C#数据类型
基本数据类型
枚举
结构
类
泛型
接口
集合
列表
ArrayList
List
02,字典
哈希表Hashtable
字典Dictionary
03,队列
Queue
04,栈
Stack
显示控件数据绑定
DataGridView控件
绑定列表集合List
设置DataSource属性为BindingList对象
绑定字典集合Dictionary
借助BindingSource对象设置DataSource
ListView控件
绑定集合信息
体检套餐管理系统
关键思路和代码分析:
首先可以功能提取出两个类,一个是 HealthCheckItem (检查项目类)和HealthCheckItem(体检套餐类)。首先我们要理清两个类的关系,一项套餐中可以包含多项项目检查。
HealthCheckItem:包括项目名称、单价和描述3个属性
例如:肝功能、用于检查肝功能、60
然后写一个带参构造函数,对这三个字段赋值
HealthCheckSet:包括要检查的项目、套餐名称、总价(所有要检查项目之和)
所以这里我们就要考虑检查项目的类型:
可以定义一个泛型集合来存储项目的类型,如List
然后写2个构造函数对List
进行初始化,如下
最后该类还需要一个套餐总价计算方法
窗体加载时需要初始化几个项目:
查看、删除套餐体检项目
编写UpdateSet(HealthCheckSet set)方法,实现DataGridView控件重新绑定集合对象
体检项目变更时,需要调用CalcPrice()方法重新计算总价
关键代码:
添加体检项目
从体检项目中选择一项,单击“添加”按钮,将选中项添加到泛型集合,并重新绑定DataGridView
重点:判断添加的体检项目在现有套餐中是否存在
新建套餐
需求说明:录入套餐名称,点击“确定”,将新建的套餐添加到套餐集合。
体检套餐管理系统思路剖析
今天我们来看下体检套餐管理系统如何书写!
首先我们来看下系统的效果图,如下
我们需要清楚的是该项目主要练习泛型集合List和Dictionary的用法,以该项目为依托,让我们对内存中数据的存在结构更加清晰。
书写该系统前,大家先不必考虑功能如何实现,而是先将需求搞清楚,当需求明确后,功能就变得简单了。
需求&#x