河南财经政法大学
计算机与信息工程学院
2013年--------2014年 第一学期
专 业:______ 管理信息系统_______
课程名称:___ _C#高级程序设计 _ ____
班 级:_______ __________
姓 名:____ ______ 学号:_________
指导教师:_____ ____________
实验一:派生类
实验目的:
了解继承和多态的基本概念。
掌握派生类、虚方法的使用方法。
掌握抽象类的定义方法。
实验内容:
一、
1.运行课本例8.1,仔细理解派生类、基类对象的引用及其转换方法。
2.参照课本例8.3,创建基类Person和派生类Teacher。基类Person包含实例字段name和age;虚函数GetInfo()显示个人信息(显示name和age的值)。派生类Teacher除了包含基类的name和age字段,还包括自己的TeacherID字段,并使用关键字override来重写方法GetInfo()显示教师信息(显示name、age和TeacherID的值)。运行效果如图所示。
3.创建抽象类基类Shape和派生类Rectangle、Circle、Square。利用多态性实现Area(计算面积)和Show(显示图形名称和面积)抽象方法。具体要求如下:
抽象类Shape中有字段name(名称)及两个抽象方法Show(显示名称及面积)、Area(面积)。
派生类Rectangle(矩形)中有字段weigh(宽度)、height(高度)及两个覆盖方法Show(显示名称及面积)、Area(计算矩形的面积)。
派生类Circle(圆)中有字段radius(半径)及两个覆盖方法Show(显示名称及面积)、Area(计算圆的面积)。
派生类Square(正方形)中有字段weigh(边长)及两个覆盖方法Show(显示名称及面积)、Area(计算正方形的面积)。
实验数据记录及分析(或程序及运行结果)
1
namespace ConsoleApplication1
{
class Program
{
public class Parent
{public Parent() {}
public void MethodA()
{
Console.WriteLine("调用MethodA()");
}
}
public class Child:Parent
{public Child(){}
public void MethodB()
{Console.WriteLine("调用MethodB()");
}
}
class Test
{
static void Main()
{Parent oParent=new Parent();
oParent.MethodA();
Child oChild=new Child();
oChild.MethodB();
oChild.MethodA();
Parent oParent1=(Parent)oChild;
oParent.MethodA();
Console.ReadLine();
Child oChild1=(Child)oParent1;
oChild1.MethodB();
oChild1.MethodA();
Console.ReadKey();
}
}
}}
2
namespace ConsoleApplication2
{
class Program
{
public class Person
{
public string name;
public uint age;
public Perso