C#实验指导4-1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C# 4-1 类的继承与多态一实验目的要求

1、掌握类的继承

2、掌握用虚方法实现类的多态

3、掌握用抽象方法实现类的多态

二实验内容和步骤

在d:盘的根目录下,建立自己的文件夹c#,以备存放文件。

Circle c1:color is yellow,area is 12.5663706143592 Rectangular r1:color is blue,area is 18,perimeter is 18 Square sq1: color is green,area is 25,perimeter is 20

注意:子类继承了父类哪些成员,又扩展了哪些成员

2、练习虚方法的覆盖P89 【例4.3】。

3、练习利用虚方法的覆盖实现多态。在第1题中练基础上做题。填空并分析结果。

red Circle area is red

yellow Rectangular area is yellow

4、练习利用抽象方法的覆盖实现多态。将第3题中的虚方法改成抽象方法,其他地方做

相应修改。运行并分析结果。

5、输入并分析以下程序,理解用虚方法的覆盖实现多态。

class Person

{

protected string name;

public Person()

{

}

public Person(string n)

{

name=n;

}

public virtual void Cut();

{

Console.Write(name + "开始相应:"); }

}

class Doctor : Person

{

public Doctor(string n):base(n)

{

}

public override void Cut()

{

base.Cut();

Console.WriteLine("做手术");

}

}

class Stylist : Person

{

public Stylist(string n):base(n)

{

}

public override void Cut()

{

base.Cut();

Console.WriteLine("开始理发");

}

}

class Actor : Person

{

public Actor(string n):base(n)

{

}

public override void Cut()

{

base.Cut();

Console.WriteLine("停止表演");

}

}

class Program

{

static void Main(string[] args)

{

Person p1 = new Doctor("张三");

Person p2 = new Stylist("李四");

Person p3 = new Actor("王五");

p1.Cut();

p2.Cut();

p3.Cut();

Console.Read();

}

}

6、将第5题Person类中的虚方法改成抽象方法,其他地方做相应修改。运行并分析结果。

相关文档
最新文档