资源描述:
《实验5—面向对象的高级程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《开发工具实验》实验报告实验5—面向对象的高级程序设计实验日期和时间:实验室:班级:学号:姓名:实验环境:1.硬件:主频:2.20GHz内存:海力士DDR31600MHz2GB硬盘空间:500GB5400转/分操作系统版本:win72.软件:MicrosoftVisualStudio2010实验主要任务:(1)设计一个Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、中学生、大学生等派生类,当输入相关数据,单击不同的按钮(小学生、中学生、大学生)将分别创建不同的学生对象,并输入当前的学生人数、该学生
2、的姓名、学生类型和平均成绩。要求如下:①每个学生都有姓名和年龄。②小学生有语文、数学成绩。③中学生有语文、数学和英语成绩。④大学生有必修课学分总数和选修课学分总数,不包含单科成绩。⑤学生类提供向外输出信息的方法。⑥学生类提供统计个人总成绩或总学分的方法。⑦通过静态成员自动记录学生的总人数。⑧能通过构造函数完成各字段成员初始化。(2)设计一个Windows应用程序,在该程序中定义平面图形抽象类和其派生类圆、矩形和三角形。该程序实现的功能包括:输入相应的图形的参数,如矩形的长和宽,单击相应的按钮,根据输入参数创建图形类并输出该图
3、形的面积。(3)声明一个播放器接口IPlayer,包含5个接口方法:播放、停止、暂停、上一首和下一首。设计一个Windows应用程序,在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口,最后创建相应类的实例测试程序。以下内容填写请利用截屏图片和文字对实验原理和实验效果进行说明任务1()完成情况:实际效果如下:第14页《开发工具实验》实验报告代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.
4、Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceS5_1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}publicabstractclassStudent{protectedstringname;protectedintage;publicstaticintnumber;publicStudent(s
5、tringname,intage){this.name=name;this.age=age;number++;}publicstringName第14页《开发工具实验》实验报告{get{returnname;}}publicvirtualstringtype{get{return"学生";}}publicabstractdoubletotal();publicstringgetInfo(){stringresult=string.Format("总人数:{0},姓名:{1},{2},{3}岁",number,Name,typ
6、e,age);if(type=="小学生")result+=string.Format(",平均成绩为{0:N2}:",total()/2);elseif(type=="中学生")result+=string.Format(",平均成绩为{0:N2}:",total()/3);elseresult+=string.Format(",总学分为{0:N2}:",total());returnresult;}}publicclassPupil:Student{protecteddoublechinese;protect
7、eddoublemath;publicPupil(stringname,intage,doublechinese,doublemath):base(name,age){this.chinese=chinese;this.math=math;}publicoverridestringtype{get{return"小学生";}}publicoverridedoubletotal(){returnchinese+math;}}publicclassMiddle:Student{protecteddoublechinese;pro
8、tecteddoublemath;第14页《开发工具实验》实验报告protecteddoubleenglish;publicMiddle(stringname,intage,doublechinese,doublemath,doubleenglish):base(name,age){thi