c# 实验 面向对象编程
- 格式:doc
- 大小:24.50 KB
- 文档页数:2
实验
面向对象编程
实验目的:
1.掌握类和对象的使用。
2.掌握字段、属性、方法(参数、重载、重写与覆盖)、继承和多态的使用。
3.掌握索引、委托、事件和接口的使用。
4.掌握C#常用的基础类和集合的使用。
实验内容:
1.定义一个描述学生基本情况的类,数据成员包括姓名、语文、数学和外语成绩,成员函数包括输出数据、设置姓名、设置三门课的成绩、求总成绩和平均成绩。
2.设有一个描述坐标点的CPoint类,其私有变量x和y代表一个点x,y坐标值。
编写程序实现以下功能:利用构造函数传递参数,并设其默认参数值为60和75,利用成员函数display()输出这一默认值;利用公有成员函数setpointQ 将坐标值修改为(80,150),并利用成员函数输出修改后的坐标值。
3.定义一个人员类Cperson,包括数据成员:姓名、编号、性别和用于输入/输出的成员函数。
在此基础上派生出学生类CStudent(增加成绩)和教师类CTeacher(增加教龄),并实现对学生和教师信息的输入/输出。
4.在C#中,Array类是一个抽象类,用作所有数组的基类。
该类提供创建、操作、搜索和排序数组中元素的方法。
而ArrayList实际上是C#中的“动态数组”,ArrayList中的数组元素的个数是可以改变的,元素可以随意添加、插入或移除。
编写一个控制台应用实验这两个常用数组类。
5.下面定义了针对int类型的栈操类。
请仿照此类编写一个string类型的栈操作类。
并考虑能否编写一个通用类型的栈操作类。
class Stack
{
int[] m_Items = new int[100];
int p;
public void Push(int x)
{
m_Items[p] = x;
p++;
}
public int Pop()
{
p--;
return m_Items[p];
}
}
6.把定义平面直角坐标系上的一个点的类CPoint作为基类,派生出描述一条直线的类Cline,再派生出一个矩形类CRect。
要求成员函数能求出两点间的距
离、矩形的周长和面积等。
设计一个测试程序,并构造完整的程序。
7.编写C#控制台应用程序,在其中创建物体类PhysicalObject,通过其私有字段来存放重量和体积,通过公有属性来访问其重量、体积、密度,并通过公有方法来判断该物体是否会在水中沉下。
8.编写C#控制台应用程序,对第7题进行扩展,从PhysicalObject类中派生出移动物体类MovingObject,在其中增加物体的速度信息,并实现物体动量和动能计算;重载自增和自减操作符,模拟两个移动物体的同向何相对碰撞。