实验5—面向对象的高级程序设计_第1页
实验5—面向对象的高级程序设计_第2页
实验5—面向对象的高级程序设计_第3页
实验5—面向对象的高级程序设计_第4页
实验5—面向对象的高级程序设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验5面向对象的高级程序设计实验日期和时间:实验室:班级: 学号:姓名: 实验环境:1. 硬件:主频:2.20 GHz内存:海力士 DDR3 1600 MHz 2GB硬盘空间:500GB 5400转/分操作系统版本:win72. 软件:Microsoft Visual Studio 2010实验主要任务:(1) 设计一个Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、中学生、大学生等派生类,当输入相关数据,单击不同的按钮(小学生、中学生、大学生)将分别创建不同的学生对象,并输入当前的学生人数、该学生的姓名、学生类型和平均成绩。要求如下:每个学生都有姓名和年龄。小学生

2、有语文、数学成绩。中学生有语文、数学和英语成绩。大学生有必修课学分总数和选修课学分总数,不包含单科成绩。学生类提供向外输出信息的方法。学生类提供统计个人总成绩或总学分的方法。通过静态成员自动记录学生的总人数。能通过构造函数完成各字段成员初始化。(2) 设计一个Windows应用程序,在该程序中定义平面图形抽象类和其派生类圆、矩形和三角形。该程序实现的功能包括:输入相应的图形的参数,如矩形的长和宽,单击相应的按钮,根据输入参数创建图形类并输出该图形的面积。(3) 声明一个播放器接口IPlayer,包含5个接口方法:播放、停止、暂停、上一首和下一首。设计一个Windows应用程序,在该程序中定义一

3、个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 cl

4、ass 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

5、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 += st

6、ring.Format(",平均成绩为0:N2:n", total() / 3); else result += string.Format(",总学分为0:N2:n", total(); return result; public class Pupil : Student protected double chinese; protected double math; public Pupil(string name, int age, double chinese, double math) : base(name, age) this.chine

7、se = chinese; this.math = math; public override string type get return "小学生" public override double total() return chinese + math; public class Middle : Student protected double chinese; protected double math; protected double english; public Middle(string name, int age, double chinese, do

8、uble math, double english) : base(name, age) this.chinese = chinese; this.math = math; this.english = english; public override string type get return "中学生" public override double total() return chinese + math + english; public class University : Student protected double majors; protected d

9、ouble elective; public University(string name, int age, double majors, double elective) : base(name, age) this.majors = majors; this.elective = elective; public override string type get return "小学生" public override double total() return majors + elective; private void button1_Click(object

10、sender, EventArgs e) int age = Convert.ToInt32(textBox2.Text); double sub1 = Convert.ToDouble(textBox3.Text); double sub2 = Convert.ToDouble(textBox4.Text); Pupil p = new Pupil(textBox1.Text, age, sub1, sub2); label6.Text += p.getInfo(); private void button2_Click(object sender, EventArgs e) int age

11、 = Convert.ToInt32(textBox2.Text); double sub1 = Convert.ToDouble(textBox3.Text); double sub2 = Convert.ToDouble(textBox4.Text); double sub3 = Convert.ToDouble(textBox5.Text); Middle m = new Middle (textBox1.Text, age, sub1, sub2,sub3); label6.Text += m.getInfo(); private void button3_Click(object s

12、ender, EventArgs e) int age = Convert.ToInt32(textBox2.Text); double sub1 = Convert.ToDouble(textBox3.Text); double sub2 = Convert.ToDouble(textBox4.Text); University u = new University(textBox1.Text, age, sub1, sub2); label6.Text += u.getInfo(); 运行结果:自我评价:达到了实验预计的效果 任务2( )完成情况:实际效果如下:代码:using Syste

13、m;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_2 public partial class Form1 : Form public Form1() InitializeComponent(); public abstract class Figure public abstract dou

14、ble Area(); public class Circle : Figure double radius; public Circle(double r) radius = r; public override double Area() return radius * radius * 3.14; public class Rectangle : Figure double length; double width; public Rectangle(double l ,double w) length = l; width = w; public override double Are

15、a() return length * width; public class Triangle : Figure double bottom; double high; public Triangle(double b, double h) bottom = b; high = h; public override double Area() return bottom * high / 2; private void button1_Click(object sender, EventArgs e) double r = Convert.ToDouble(textBox1.Text); C

16、ircle a = new Circle(r); label6.Text = "圆的面积为:"+ a.Area(); private void button2_Click(object sender, EventArgs e) double l = Convert.ToDouble(textBox1.Text); double w = Convert.ToDouble(textBox2.Text); Rectangle a = new Rectangle(l,w); label6.Text = "矩形面积为:" + a.Area(); private v

17、oid button3_Click(object sender, EventArgs e) double b = Convert.ToDouble(textBox1.Text); double h = Convert.ToDouble(textBox2.Text); Triangle a = new Triangle(b,h); label6.Text = "三角形面积为:" + a.Area(); 运行结果:自我评价:达到了实验预计的效果 任务3( )完成情况:实际效果如下:代码:using System;using System.Collections.Generic;

18、using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace S5_3 public partial class Form1 : Form public Form1() InitializeComponent(); interface IPlayer string Play(); string Stop(); string Pause(); string Pre(); strin

19、g Next(); public class MP3 : IPlayer public string Play() return "正在播放MP3歌曲!" public string Stop() return "停止播放MP3歌曲!" public string Pause() return "暂停播放MP3歌曲!" public string Pre() return "播放上一首MP3歌曲!" public string Next() return "播放下一首MP3歌曲!" public

20、 class AVI : IPlayer public string Play() return "正在播放AVI视频!" public string Stop() return "停止播放AVI视频!" public string Pause() return "暂停播放AVI视频!" public string Pre() return "播放上一部AVI视频!" public string Next() return "播放下一部AVI视频!" IPlayer ip; MP3 m; AVI

21、 a; private void button1_Click(object sender, EventArgs e) m = new MP3(); ip = (IPlayer)m; private void button2_Click(object sender, EventArgs e) a = new AVI(); ip = (IPlayer)a; private void button3_Click(object sender, EventArgs e) label1.Text = ip.Pre(); private void button4_Click(object sender, EventArgs e) label1.Text = ip.Stop(); private void button5_Click(object sender, E

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论