2022年面向对象程序设计实验安排 .pdf
《2022年面向对象程序设计实验安排 .pdf》由会员分享,可在线阅读,更多相关《2022年面向对象程序设计实验安排 .pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计实验实验 1 1.了解 Visual Studio2005 集成开发环境;2.开发一个简单的控制台应用程序,能够从键盘输入用户姓名,然后输出“用户姓名”“欢迎使用 C#!”。3.分别定义一个描述时钟(时、分、秒)的结构体和类,结构体和类都包含公有成员方法Set(int h,int m,int s)用于设置时钟,Print()显示时钟(显示格式为HH:MM:SS)。然后在主方法中进行演示,并了解结构体和类的区别。实验 2 1.定义一个课程类和一个学生类,这两个类包含的成员如下:class Course int Cno;/课程号string Cname;/课程名int Score;
2、/成绩public void InputCourse()/输入课程号、课程名和成绩 public override string ToString()return Cname+(+Cno+);public int GetScore()/返回课程成绩 class Student int Sno;/学号string Sname;/姓名int Cnums;/课程门数Course Courses;/所修课程public void SetStudent(int sno,string sname,int coursenums)/设置学生的学号、姓名和修读课程门数 public void InputScor
3、e()/输入所修读课程的课程名、课程号和成绩名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 13 页 -public string GetStudent()/返回学号号和姓名 public void ShowDegree()/输出各门课程对应的课程号、课程名和对应的成绩 public int GetAvgDegree()/计算并返回各门课程的平均成绩 请把上面的类补充完整,然后在Main 方法中定义一个Sutdent 对象,然后进行演示。实验 3 1.定义一个学生类(班级人数、总入学成绩、学号、姓名、入学成绩),其中班级人数、总入学成绩是静态成数据,如下:classStudent
4、 static int NumofStudents,SumofDegree;int Sno;string Sname;decimal Degree;/请定义静态构造函数用于初始化NumofStudents0,SumofDegree=0/请定义无参构造函数,把Sno初始化为 0,Sname 初始化为 null,Degree初始化为 0.0,并使学生人数加1/请定义有三个参数的构造函数初始化学生的Sno,Sname和Degree,并使学生人数加1,总成绩 Degree/定义实例方法显示学生的Sno、Sname和Degree/定义静态方法定义静态方法显示当前学生人数/定义静态方法,计算并返回所有学生
5、的平均入学成绩/定义析构函数,使学生人数减1,SumofDegree Degree 请把类 Student 补充完整,然后在Main 方法中演示。要求掌握构造函数、析构函数、静态成员、静态构造函数。实验 4 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 13 页 -1.定义一个复数类ComplexNumber,类的主要成员如下,请把按要求实现所有成员方法,并在程序的主方法中编写程序进行演示。classComplexNumber private double real,image;public ComplexNumber(double r,double i)real=r;imag
6、e=i;public static ComplexNumber operator+(ComplexNumber c1,ComplexNumber c2)/重载加法运算符;public static ComplexNumber operator-(ComplexNumber c1,ComplexNumber c2)/重载减法运算符;public static ComplexNumber operator*(ComplexNumber c1,ComplexNumber c2)/重载乘法运算符;public static ComplexNumber operator/(ComplexNumber c
7、1,ComplexNumber c2)/重载除法运算符;public static ComplexNumber Parse(string s)/定义方法 Parse 能够解析“a+bi”,“a-bi”,“-a+bi”,“-a-bi”,其中 a、b为正数;public static bool TryParse(string s,out ComplexNumber c)/定义方法 TryParse用于解析“a+bi”,“a-bi”,“-a+bi”,“-a-bi”,其中 a、b为正数;/若字符串格式不正确返回false,否则返回 true public override string ToStrin
8、g()/重写该方法返回复数对象的字符串表示,要注意显示虚部的符合位;实验目的:运算符重载、字符串解析和格式化。实验 5 1.定义一个图形类Shape,Shape类的派生类圆类Circle,Circle 类的派生类球体Ball。类的成员如下,请实现没有实现的方法,然后再Main 方法中编程进行演示。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 13 页 -classShape protectedstring name;public Shape(string s)name=s;publicvirtualdouble GetArea()return 0;publicvirtualdo
9、uble GetVolume()return 0;publicvirtualvoid Show()/输出图形的名称、面积和体积 classCircle:Shape protecteddouble radio;/圆的半径/下面请定义构造函数初始化圆类/下面请重载 GetArea方法求圆的面积/下面请重载 Show 方法显示圆的名称、面积、体积 classBall :Circle /下面请定义构造函数初始化圆类/下面请重载 GetArea方法求圆的表面积/下面请重载 GetVolume方法求圆的体积/下面请重载 Show 方法显示圆的名称、面积、体积 2.把 1 中的 Shape类改成如下的抽象类
10、,然后再实现。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 13 页 -Abstract classShape protectedstring name;public Shape(string s)name=s;publicabstractdouble GetArea();publicabstractdouble GetVolume();publicvirtualvoid Show()/输出图形的名称、面积和体积 实验 6 1.定义铃声类、学生类和教师类,学生和教师可以订阅或取消订阅铃声事件,并对铃声作出正确的相应(上课铃响,输出字符串“回教室上课,分钟后休息”;下课铃响,输出
11、字符串“自由活动,分钟后回教室上课”。)要求分别使用:委托的发布和订阅、事件的发布和订阅、EventHandler 实现。实验 7 1.定义一个三角形类Triangle,并派生出直角三角形类VTriangle,类的成员如下。要求在三角形类的构造函数中判断三条边能否构成三角形,如果不能构成三角形主动引发异常ArgumentOutofRangeException,异常消息为“三条边不能构成三角形”;直角三角形的构造函数要能判断三条边能否构成直角三角形,若不能主动引发异常ArgumentOutofRangeException,异常消息为“三条边不能构成直角三角形”。并实现没有实现的成员方法。然后在M
12、ain 方法中进行演示。classTriangle protected double a,b,c;public Triangle(double x,double y,double z)public double GetCircle()/求周长 public double GetArea()/求面积 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 13 页 -classVTriangle :Triangle public VTriangle(double x,double y,double z):base(x,y,z)2.定义一个整数数列IntNumberSequence,然后派生
13、出等差数列DCSequence 和等比数列DBSequence,并自定义异常类型IntNumberSequenceException。类的结构如下,请实现没有实现的方法,并在Main 方法中演示。public classNumberSequenceException:ApplicationException private int item=-1;public int Item get return item;public NumberSequenceException(int item):base(string.Format(数列第 0 项异常,item)this.item=item;pub
14、lic NumberSequenceException(string msg,int item):base(msg)this.item=item;public classIntNumberSequence/整数数列类 public delegateint Recur(int a);protected Recur recur;protected int a0=-1;public int A0 get return a0;public IntNumberSequence(int a0,Recur recur)this.a0=a0;this.recur=recur;public virtual in
15、t GetNumber(int n)int a=a0;for(int i=1;i n;i+)a=recur(a);return a;名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 13 页 -public virtual int GetNumbers(int n)int numbers=new intn;numbers0=a0;for(int i=1;i n;i+)numbersi=recur(numbersi-1);return numbers;public classDCNumberSequence:IntNumberSequence/派生类等差数列 int step;/等差
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年面向对象程序设计实验安排 2022 面向 对象 程序设计 实验 安排
限制150内