实验5面向对象高级程序设计.doc
文本预览下载声明
《开发工具实验》实验报告
PAGE
第 PAGE \* MERGEFORMAT 2页
实验5—面向对象的高级程序设计
实验日期和时间:
实验室:
班级:
学号:
姓名:
实验环境:
硬件:
主频:2.20 GHz
内存:海力士 DDR3 1600 MHz 2GB
硬盘空间:500GB 5400转/分
操作系统版本:win7
软件:Microsoft Visual Studio 2010
实验主要任务:
设计一个Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、中学生、大学生等派生类,当输入相关数据,单击不同的按钮(小学生、中学生、大学生)将分别创建不同的学生对象,并输入当前的学生人数、该学生的姓名、学生类型和平均成绩。要求如下:
①每个学生都有姓名和年龄。
②小学生有语文、数学成绩。
③中学生有语文、数学和英语成绩。
④大学生有必修课学分总数和选修课学分总数,不包含单科成绩。
⑤学生类提供向外输出信息的方法。
⑥学生类提供统计个人总成绩或总学分的方法。
⑦通过静态成员自动记录学生的总人数。
⑧能通过构造函数完成各字段成员初始化。
设计一个Windows应用程序,在该程序中定义平面图形抽象类和其派生类圆、矩形和三角形。该程序实现的功能包括:输入相应的图形的参数,如矩形的长和宽,单击相应的按钮,根据输入参数创建图形类并输出该图形的面积。
声明一个播放器接口IPlayer,包含5个接口方法:播放、停止、暂停、上一首和下一首。设计一个Windows应用程序,在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口,最后创建相应类的实例测试程序。
以下内容填写请利用截屏图片和文字对实验原理和实验效果进行说明
任务1( )完成情况:
实际效果如下:
代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace S5_1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public abstract class Student
{
protected string name;
protected int age;
public static int number;
public Student(string name, int age)
{
= name;
this.age = age;
number++;
}
public string Name
{
get { return name; }
}
public virtual string type
{
get { return 学生; }
}
public abstract double total();
public string getInfo()
{
string result = string.Format(总人数:{0},姓名:{1},{2},{3}岁, number, Name, type, age);
if (type == 小学生)
result += string.Format(,平均成绩为{0:N2}:\n, total() / 2);
else if (type == 中学生)
result += string.Format(,平均成绩为{0:N2}
显示全部