实验报告四.doc
- 文档编号:2912206
- 上传时间:2023-05-05
- 格式:DOC
- 页数:9
- 大小:181.47KB
实验报告四.doc
《实验报告四.doc》由会员分享,可在线阅读,更多相关《实验报告四.doc(9页珍藏版)》请在冰点文库上搜索。
攀枝花学院实验报告
实验课程:
VisualC#.NET程序设计教程实验项目:
上机实验6实验日期:
2015.05.12
系:
数计学院成绩:
一、实验目的
1、初步掌握常用集合的创建和操作方法。
2、初步掌握索引器的定义和使用。
3、初步掌握泛型接口、泛型类、泛型属性和泛型方法的使用。
二、实验要求
1.熟悉VisualStudio.Net2010的基本操作方法。
2.认真阅读本章相关内容,尤其是案例。
3.实验前进行程序设计,完成源程序的编写任务。
4.反复操作,直到不需要参考教材、能熟练操作为止。
三、实验步骤
1、设计一个Windows应用程序,定义一个Teacher类,包含姓名和职称两个字段和一个输出自己信息的方法,并用ArrayList实现与实例6_1相同的功能。
源程序如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Collections;
namespaceTest4_1
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
publicclassTeacher
{
privatestringname;
privatestringjob;
publicTeacher(stringname,stringjob)
{
this.name=name;
this.job=job;
}
publicstringGetMessage()
{
returnstring.Format("姓名:
{0}\n职称:
{1}。
",this.name,this.job);
}
}
ArrayLista=newArrayList();
privatevoidShow()
{
foreach(objectbtObjina)
{
TeacherbtErgodic=(Teacher)btObj;
lblShow.Text+="\n"+btErgodic.GetMessage();
}
}
privatevoidbtAdd_Click(objectsender,EventArgse)
{
Teacherx=newTeacher(txtName.Text,txtJob.Text);
a.Add(x);
lblShow.Text="";
Show();
}
privatevoidbtInster_Click(objectsender,EventArgse)
{
intIndex=Convert.ToInt32(txtIndex.Text);
Teacherx=newTeacher(txtName.Text,txtJob.Text);
a.Insert(Index,x);
lblShow.Text="";
Show();
}
privatevoidbtDelete_Click(objectsender,EventArgse)
{
intIndex=Convert.ToInt32(txtIndex.Text);
a.RemoveAt(Index);
lblShow.Text="";
Show();
}
privatevoidbtErgodic_Click(objectsender,EventArgse)
{
lblShow.Text="";
Show();
}
}
}
运行结果如图所示:
2、设计一个Windows应用程序,定义一个Student类,包含学号和姓名两个字段,并定义一个班级类ClassList,该类包括一个Student集合,使用索引器访问该集合,实现与实例6_3类似的功能。
源程序如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespaceTest4_2
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
publicclassStudent
{
privatestringnumber;
privatestringname;
publicStudent(stringnumber,stringname)
{
this.number=number;
this.name=name;
}
publicstringNumber
{
get
{
returnnumber;
}
}
publicstringName
{
get
{
returnname;
}
}
}
publicclassClassList
{
privateStudent[]student;
publicClassList(intx)
{
student=newStudent[x];
}
publicStudentthis[intindex]
{
get
{
if(index<0||index>=student.Length)
{
returnnull;
}
returnstudent[index];
}
set
{
if(index<0||index>=student.Length)
{
return;
}
student[index]=value;
}
}
publicStudentthis[stringget]
{
get
{
foreach(Studentsinstudent)
{
if(s.Name.IndexOf(get)!
=-1||s.Number.IndexOf(get)!
=-1)
returns;
}
returnnull;
}
}
}
ClassLista=newClassList(50);
privatevoidbtAdd_Click(objectsender,EventArgse)
{
intindex=Convert.ToInt32(txtFigure.Text)-1;
Students=newStudent(txtNumber.Text,txtName.Text);
a[index]=s;
lblShow.Text=string.Format("第{0}位同学信息添加成功!
\n学号:
{1}!
姓名:
{2}",index+1,s.Number,s.Name);
}
privatevoidbtNumber_Click(objectsender,EventArgse)
{
Students=a[txtNumber.Text];
if(s!
=null)
lblShow.Text=string.Format("找到学号为:
{0}的同学的信息!
\n学号:
{1}!
姓名:
{2}",txtNumber.Text,s.Number,s.Name);
else
lblShow.Text=string.Format("没有找到学号为:
{0}的同学的信息",txtNumber.Text);
}
privatevoidbtName_Click(objectsender,EventArgse)
{
Students=a[txtName.Text];
if(s!
=null)
lblShow.Text=string.Format("找到姓名为:
{0}的同学的信息!
\n学号:
{1}!
姓名:
{2}",txtName.Text,s.Number,s.Name);
else
lblShow.Text=string.Format("没有找到姓名为:
{0}的同学的信息",txtName.Text);
}
privatevoidbtShow_Click(objectsender,EventArgse)
{
intindex=Convert.ToInt32(txtFigure.Text)-1;
Students=a[index];
if(s!
=null)
lblShow.Text=string.Format("第{0}位同学的信息为:
\n学号:
{1}姓名:
{2}",index+1,s.Number,s.Name);
else
lblShow.Text=string.Format("没有第{0}位同学的信息!
",index+1);
}
}
}
运行结果如图所示:
3、设计一个Windows应用程序,要求如下。
(1)构造一个产品基本类。
(2)分别定义家电、日用百货、衣服等派生类,要求具有不同的特征和行为。
(3)定义一个泛型货架类,约束参数类型为产品类,该泛型的货架类包括一个泛型集合,用于存放各种产品对象,并包含一个方法,用于输出每个产品的相关信息。
(4)再仿照实例6_4,定义泛型的货架类对象,完成对产品的添加和信息的输出。
源程序如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespaceTest4_3
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
Product
privatevoidbtAdd1_Click(objectsender,EventArgse)
{
sh.shangpings.Add(newJiadian(txtName.Text));
lblShow.Text+=string.Format("\n添加家电类:
{0}成功",txtName.Text);
}
privatevoidbtAdd2_Click(objectsender,EventArgse)
{
sh.shangpings.Add(newBauhuo(txtName.Text));
lblShow.Text+=string.Format("\n添加日用百货类:
{0}成功",txtName.Text);
}
privatevoidbtAdd3_Click(objectsender,EventArgse)
{
sh.shangpings.Add(newYifu(txtName.Text));
lblShow.Text+=string.Format("\n添加衣服类:
{0}成功",txtName.Text);
}
privatevoidbtPut_Click(objectsender,EventArgse)
{
lblShow.Text=sh.ShangjiaTo();
}
publicabstractclassShangpin
{
publicstringname;
publicShangpin(stringname)
{this.name=name;}
publicabstractstringShangjia();
}
publicclassJiadian:
Shangpin
{
publicJiadian(stringname):
base(name){}
publicoverridestringShangjia()
{
returnstring.Format("[0]:
家电类:
请轻拿轻放!
",name);
}
}
publicclassBauhuo:
Shangpin
{
publicBauhuo(stringname):
base(name){}
publicoverridestringShangjia()
{
returnstring.Format("[0]:
日用百货类:
请仔细清点数目!
",name);
}
}
publicclassYifu:
Shangpin
{
publicYifu(stringname):
base(name){}
publicoverridestringShangjia()
{
returnstring.Format("[0]:
衣服类:
材质易损,请托管保留!
",name);
}
}
publicclassProduct
Shangpin
{
privateList
publicList
{
get{returnshs;}
}
publicstringShangjiaTo()
{
stringmsg=string.Empty;
foreach(Tshinshs)
{
msg+="\n"+sh.Shangjia();
}
returnmsg;
}
}
}
}
运行结果如图所示:
四、实验总结
通过这次实验,了解了常用集合的创建和操作方法,索引器的定义和使用,泛型接口、泛型类、泛型属性和泛型方法的使用,这次实验中,对于泛型的使用并不是十分熟练,还需要多加练习,实验过程中,对于理论知识有了更深层次的理解,不再那么片面。
-8-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告