实验报告四Word文档下载推荐.doc
《实验报告四Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《实验报告四Word文档下载推荐.doc(9页珍藏版)》请在冰点文库上搜索。
![实验报告四Word文档下载推荐.doc](https://file1.bingdoc.com/fileroot1/2023-5/4/902b9361-6db5-43b4-9d59-54966af33dd9/902b9361-6db5-43b4-9d59-54966af33dd91.gif)
源程序如下:
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);
privatevoidbtDelete_Click(objectsender,EventArgse)
a.RemoveAt(Index);
privatevoidbtErgodic_Click(objectsender,EventArgse)
}
}
运行结果如图所示:
2、设计一个Windows应用程序,定义一个Student类,包含学号和姓名两个字段,并定义一个班级类ClassList,该类包括一个Student集合,使用索引器访问该集合,实现与实例6_3类似的功能。
namespaceTest4_2
publicclassStudent
privatestringnumber;
publicStudent(stringnumber,stringname)
this.number=number;
publicstringNumber
get
{
returnnumber;
}
publicstringName
returnname;
publicclassClassList
privateStudent[]student;
publicClassList(intx)
student=newStudent[x];
publicStudentthis[intindex]
if(index<
0||index>
=student.Length)
{
returnnull;
}
returnstudent[index];
set
return;
student[index]=value;
publicStudentthis[stringget]
foreach(Studentsinstudent)
if(s.Name.IndexOf(get)!
=-1||s.Number.IndexOf(get)!
=-1)
returns;
returnnull;
ClassLista=newClassList(50);
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}!
txtNumber.Text,s.Number,s.Name);
else
没有找到学号为:
{0}的同学的信息"
txtNumber.Text);
privatevoidbtName_Click(objectsender,EventArgse)
Students=a[txtName.Text];
找到姓名为:
txtName.Text,s.Number,s.Name);
没有找到姓名为:
txtName.Text);
privatevoidbtShow_Click(objectsender,EventArgse)
intindex=Convert.ToInt32(txtFigure.Text)-1;
Students=a[index];
第{0}位同学的信息为:
{1}姓名:
index+1,s.Number,s.Name);
没有第{0}位同学的信息!
index+1);
3、设计一个Windows应用程序,要求如下。
(1)构造一个产品基本类。
(2)分别定义家电、日用百货、衣服等派生类,要求具有不同的特征和行为。
(3)定义一个泛型货架类,约束参数类型为产品类,该泛型的货架类包括一个泛型集合,用于存放各种产品对象,并包含一个方法,用于输出每个产品的相关信息。
(4)再仿照实例6_4,定义泛型的货架类对象,完成对产品的添加和信息的输出。
namespaceTest4_3
Product<
Shangpin>
sh=newProduct<
();
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));
\n添加日用百货类:
privatevoidbtAdd3_Click(objectsender,EventArgse)
sh.shangpings.Add(newYifu(txtName.Text));
\n添加衣服类:
privatevoidbtPut_Click(objectsender,EventArgse)
lblShow.Text=sh.ShangjiaTo();
publicabstractclassShangpin
publicstringname;
publicShangpin(stringname)
{this.name=name;
}
publicabstractstringShangjia();
publicclassJiadian:
Shangpin
publicJiadian(stringname):
base(name){}
publicoverridestringShangjia()
[0]:
家电类:
请轻拿轻放!
name);
publicclassBauhuo:
publicBauhuo(stringname):
日用百货类:
请仔细清点数目!
publicclassYifu:
publicYifu(stringname):
衣服类:
材质易损,请托管保留!
publicclassProduct<
T>
whereT:
privateList<
shs=newList<
publicList<
shangpings
get{returnshs;
publicstringShangjiaTo()
stringmsg=string.Empty;
foreach(Tshinshs)
msg+="
+sh.Shangjia();
returnmsg;
四、实验总结
通过这次实验,了解了常用集合的创建和操作方法,索引器的定义和使用,泛型接口、泛型类、泛型属性和泛型方法的使用,这次实验中,对于泛型的使用并不是十分熟练,还需要多加练习,实验过程中,对于理论知识有了更深层次的理解,不再那么片面。
-8-