C# OOP 阶段小测试笔试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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();