版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 领导干部带班作业记录表
- 2024届新疆木垒县中学高三1月检测试题数学试题
- 2024届上海市市西初级中学高三下学期最后一次模拟考试试卷数学试题
- 幼儿课件制作软件
- 2024年兰州客运从业资格证实际操作考试答案
- 2024年杭州客运资格证试题及答案选择题
- 2024年云南客运从业资格证都考什么题型
- 2024年沈阳客运从业资格证急救考试试题教程
- 2024年西安客运从业资格证考试多少道题
- 上海市静安区上戏附中2025届高二生物第一学期期末经典试题含解析
- 2024-2025学年部编版初一上学期期中历史试卷与参考答案
- 2024年山东地区光明电力服务公司第二批招聘高频难、易错点500题模拟试题附带答案详解
- DB34T 3730-2020 耕地损毁程度鉴定技术规范
- 2024-2025学年六年级科学上册第二单元《地球的运动》测试卷(教科版)
- 国家开放大学《合同法》章节测试参考答案
- 特种设备安全风险日管控、周排查、月调度管理制度及相关表格
- 人教版五年级数学上册专项计算题12套(每日一练)
- 大中型水库移民后期扶持政策实施情况监测评估大纲
- 广水市第一人民医院门诊综合楼外墙保温装饰一体板工程施工组织设计
- 高标准农田土地建设项目测量控制施工方案(完整版)
- 国内会展研究文献综述
评论
0/150
提交评论