面向对象复习题(1)

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

C#面向对象编程-练习题

1.C#中的方法重写使用关键字(a)。

1. override

2. overload

3. static

4. Inherit

2.以下的C#代码,试图用来定义一个接口:

public interface IFile{

int A;

int delFile() {

A = 3;

}

void disFile();

}

关于以上的代码,以下描述错误的是(d)。(选择一项)

1. 以上的代码中存在的错误包括:不能在接口中定义变量,所以int A代码行将出现

错误

2. 以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写

具体的实现函数

3. 代码void disFile();定义无错误,接口可以没有返回值

4. 代码void disFile();应该编写为void disFile(){};

3.在C#中,接口与抽象基类的区别在于(a)。

1. 抽象基类可以包含非抽象方法,而接口只能包含抽象方法

2. 抽象基类可以被实例化,而接口不能被实例化

3. 抽象基类不能被实例化,而接口可以被实例化

4. 抽象基类就是接口,它们之间无差别

4.在开发某图书馆的图书信息管理系统的过程中,开始为教材类图书建立一个TextBook 类;现在又增加了杂志类图书,于是需要改变设计,则下面最好的设计应该是(c)。

1. 建立一个新的杂志类Journal。

2. 建立一个新的杂志类Journal,并继承TextBoook类。

3. 建立一个基类Book和一个新的杂志类Journal,并让Journal类和TextBoook类都

继承于Book类。

4. 不建立任何类,把杂志图书的某些特殊属性加到TextBoook类中。

5.可以使用(a)关键字重写方法。

1. Override

2. New

6.以下叙述正确的是:(b,c)

A.接口中可以有虚方法。 B.一个类可以实现多个接口。

C.接口不能被实例化。 D.接口中可以包含已实现的方法。

7.下列代码输出为(d ):

class Father{

public void F() }

public virtual void G() { Console.WriteLine("A.G"); }

}

class Son: Father{

new public void F() { Console.WriteLine("B.F"); }

public override void G() { Console.WriteLine("B.G"); }

}

class override_new{

static void Main() {

Son b = new Son();

Father a = b;

a.F();

b.F();

a.G();

b.G();

}

}

1. A.F B.F A.G B.G

2. A.F B.F B.G B.G

3. A.F A.F B.G B.G

4. B.F B.F B.G B.G

8.写出程序的输出结果:

public class A

{

public virtual void Fun1(int i)

{

Console.WriteLine(i);

}

public void Fun2(A a)

{

a.Fun1(1);

Fun1(5);

}

}

public class B:A {

public override void Fun1(int i)

{

base.Fun1(i+1);

}

public static void Main() {

B b=new B();

A a=new A();

a.Fun2(b);

b.Fun2(a);

}

}

答案:2516

9.在C#中,允许多接口继承,从多个接口时,使用":"后跟继承的接口的名字,多个接口名称之间使用(c)符号进行分割。(选择一项)

a)".'

b)"->"

c)","

d)"::"

10.阅读以下的C#代码:

class A

{

public virtual void printStr(string str)

{

Console.WriteLine(str);

}

}

class B:A

{

public override void printStr(string str)

{

str=str+" 重写的方法";

Console.WriteLine(str);

}

}

class DefaultInitializerApp

{

public static void Main()

{

B b=new B();

A a=b;

a.printStr("打印");

b.printStr("打印");

Console.ReadLine();

}

}

运行程序后将在控制台窗口打印( a )。(选择一项)

1. 打印重写的方法打印重写的方法

2. 打印打印重写的方法

3. 打印

4. 程序有误,不能运行

相关文档
最新文档