C#程序设计:面向对象进阶与Coursescore类实现
需积分: 9 7 浏览量
更新于2024-09-17
收藏 144KB DOC 举报
本资源是关于C#编程基础的学习材料,重点关注面向对象编程中的类定义、数据成员管理和索引操作。实验内容涉及使用Hashtable数据结构,创建名为Coursescore的类来存储学生姓名、课程编号及对应分数,并创建一个CoursescoreIndex类作为索引来存取和查询这些数据。此外,还要求学习者理解ArrayList的工作原理,并实现一个通用的排序方法。
在C#编程中,类是面向对象编程的基础,它定义了对象的结构和行为。在本实验中,`Coursescore` 类被声明用来表示学生课程成绩,包含三个数据成员:学生的姓名(Name)、课程的编号(CourseID)以及该门课程的分数(Score)。这样的设计允许我们创建多个`Coursescore` 对象来存储不同学生在不同课程的成绩。
`CoursescoreIndex` 类是为了解决存取和查询`Coursescore` 对象而设计的。它使用ArrayList作为内部数据结构,通过索引来快速访问数据。`CoursescoreIndex` 类实现了索引器(indexer),使得可以通过键值对(学生的姓名和课程编号)直接访问和设置分数。例如,`csi["张三", 1] = 90;` 将为学生"张三"的课程编号为1的课程设置分数为90。索引器的`get` 方法用于查询,遍历ArrayList直到找到匹配的`Coursescore` 对象并返回其分数;`set` 方法则用于添加新的`Coursescore` 对象或更新已存在的分数。
实验还涉及对ArrayList的理解,它是一个动态数组,可以容纳任意类型的对象。在`CoursescoreIndex` 类中,ArrayList用于存储`Coursescore` 对象实例。
另外,实验要求将三个不同的排序方法(按标题、作者和总价值)改写成一个通用方法`sort(Card[] book, int[] index, int method)`,通过新增的`method` 参数来指示按哪个字段进行排序。这展示了方法重载和参数化编程的概念,提高了代码的复用性。
这个实验旨在深化对C#中类的使用、面向对象编程概念的理解,以及如何利用数据结构如ArrayList和Hashtable进行数据管理。同时,也强调了代码的可读性和效率,通过重构代码实现更灵活的排序功能。
2011-09-28 上传
zhengli0109
- 粉丝: 1
- 资源: 11
最新资源
- SourceAnywhere For VSS 配置手册.pdf
- android平台应用程序开发指南
- 可信计算(A.Practical.Guide.to.Trusted.Computing)
- struts2 学习重点笔记
- 怎样做实验室的工作,MiT新生必读
- 至少应该阅读的九本C++著作
- 西门子GSM TC35的AT命令
- moreEffectiveC++_侯捷.pdf
- STC89系列 中文资料 PDF格式
- 基于WWW的劳资人事管理系统
- wps表格初级教程4
- Struts2轻松入门
- 基于2D模板与3D包围式标定块的鱼眼相机标定
- 基于关键词的WEB文献自动跟踪系统的实现方法
- ISD1400的资料
- C语言写的电子万年历代码