C# OOP 阶段小测试笔试题

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

C#OOP(1~9章)阶段小测试一选择题

1)下面的属性定义正确的是(BC)。

a)private string test;

public Test{get{return test;}set{test=value;}}

b)private string test;

public string Test{get{return test;}set{test=value;}}

c)public string Test{get;set;}

d)private string test;

public int Test{get{return test;}set{test=value;}}

2)下面C#代码执行的结果是(B)。

public class A

{

public A()

{

Console.WriteLine("A1");

}

public A(string a)

{

Console.WriteLine("A2");

}

}

public class B:A

{

public B():base()

{

Console.WriteLine("B");

}

static void Main()

{

B b=new B();

}

}

a)B

b)A1

B

c)A2

B

d)B

A1

3)有如下代码,下列说法正确的是(D)。

public class A

{

private int A1;

protected string A2;

protected void M1()

{}

}

public class B:A

{

protected void M2()

{}

}

a)在M2方法中可以访问A1

b)在M2方法中不能访问A2

c)在M1方法中可以调用M2方法

d)在M2方法中可以访问A2

4)下面说法中正确的是(B)。

a)不能在非静态类中定义静态成员

b)不能通过对象名访问类的静态方法

c)可以通过对象名访问类的静态字段

d)可以通过类的实例对象访问该类的静态成员

5)下面是方法重载的是(D)。

a)public string A(string a){…}和public int A(string a){…}

b)public string A(string a){…}和public string B(string a){…}

c)public string A(string a){…}和public string A(string x){…}

d)public string A(string a){…}和public string A(string x,string y){…}

6)下面代码执行的结果是(B)。

public class A

{

public virtual void Test()

{

Console.WriteLine("A");

}

}

public class B:A

{

public override void Test()

{

Console.WriteLine("B");

}

static void Main()

{

A b=new B();

b.Test();

}

}

a)A

b)B

c)A

B

d)B

A

7)下面关于如下C#代码的说法中,正确的是(BC)。

public abstract class A

{

public A(string a)//⑴

{}

public abstract int M1()//⑵

{

return0;

}

}

public class B:A

{

static void Main()

{

A a=new A();//⑶

}

}

a)在⑴行中,不能给抽象类定义构造函数

b)在⑵行中,方法M1不能有方法体

c)在⑶行中,不能实例化抽象类

d)3处代码都没有问题

8)下面关于类和结构的说法,错误的是(B)。

a)类可以被继承,而结构不可以

b)类可以用new创建对象,而结构不可以

c)类是引用类型,而结构是值类型

d)类中可以直接给字段赋初始值,而结构不可以

9)下面关于C#中抽象类和抽象方法的说法,正确的是(C)。

a)使用抽象类和抽象方法是实现多态的唯一选择

b)抽象类中的方法都不能有方法体

c)一个类只可以继承一个抽象类

d)如果要重写抽象方法必须使用override关键字

10)在一个C#程序中,下面的这段代码,错误的属性操作是(D)。

public class Department

{

private string_name;

public Department(string name)

{

_name=name;

}

public string Name

{

get{return_name;}

}

public int No{get;set;}

}

//…省略代码

Department dept=new Department("研发部");

a)dept.No=1001012;

b)int no=dept.No;

c)string deptName=;

d)=“产品部”;

11)下面的C#关键字中,(C)不能用来修饰类。

a)abstract

b)sealed

c)virtual

d)private

12)下面的C#代码运行的时候会出现错误的是(BC)。

a)ArrayList al=new ArrayList();

相关文档
最新文档