内容正文:
编写说明:河北省普通高等学校对口招生考试计算机类《算法与程序设计考点双析卷》,依据《河北省普通高等学校对口招生计算机类专业考试考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第33、第34卷精准对标河北省考纲,知识模块(四)C#面向对象设计:
1. 掌握面向对象的三大特征:封装、继承、多态;
2. 掌握类和对象的概念、类的定义、对象的创建与使用、属性和方法;
3. 掌握关键字this、this访问属性、this调用成员方法、this调用构造方法;
4. 掌握关键字static、静态字段、静态属性、静态方法;
5. 掌握构造函数的语法格式和用法;
6. 了解封装的作用与实现;
7. 了解继承的概念、语法和实现。
河北省对口招生考试 计算机类
《算法与程序设计》考点双析卷 第33卷
C#面向对象设计(5) 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下代码中,StaticMethod 方法可以访问( )
class MyClass
{
private int instanceField;
private static int staticField;
public static void StaticMethod()
{
// 方法体
}
}
A.instanceField B.staticField C.两者都可以访问 D.两者都不能访问
【答案】B
2.在C#中, 静态构造函数只能对 数据成员进行初始化。( )
A.静态 B.动态 C.实例 D.静态和实例
【答案】A
3.下列关于“方法重载”的描述中,下列选项不正确的是( )
A.方法重载可以扩充现有类的功能
B.构造函数不可以重载
C.方法ConsoleW(int _value)是方法ConsoleW(string _value)的重载
D.方法重载即“同样的方法名但传递的参数不同”
【答案】B
4.在类的定义中,类的 描述了该类的对象的行为特征。( )
A.类名 B.方法 C.所属的名字空间 D.私有字段
【答案】B
5.在C#中,以下选项中,定义一个无参构造函数的正确语法的是( )
A.public MyClass() { } B.public MyClass { }
C.public void MyClass() { } D.public MyClass(int x) { }
【答案】D
6.构造函数在 C# 中,以下说法正确的是( )
A.构造函数名不必和类名相同
B.一个类可以声明多个构造函数
C.构造函数可以有返回值
D.编译器可以提供一个默认的带一个参数的构造函数
【答案】B
【详解】构造函数的名称必须与类名完全相同,构造函数没有返回值,也不能使用void关键字声明,当类中没有显式定义任何构造函数时,编译器会自动提供一个默认的无参数构造函数。
7.现有 C# 方法定义为 public void function1(参数列表) {…},在该方法中可使用的 return语句正确格式是( )
A.return 1; B.return parameter1; C.return function1; D.return;
【答案】D
8.类 MyClass 中,下列语句定义了一个只读的属性 Count的是( )
A.private int Count;
B.public readonly int Count;
C.private int count;
public int Count{
get{return count;}}
D.public readonly int Count {
get{ return count;}
set{count = value;} }
【答案】C
9.下列关于 void的说法,正确的是( )
A.void可用于声明参数 B.void可用于声明类
C.void可用于声明方法 D.void与空字符串等价
【答案】C
10.类中声明的属性往往具有 get和 两个访问器。( )
A.index B.array C.set D.List
【答案】C
【详解】在C#中,类的属性有两个访问器:get和set访问器。
11.在C#中,关于继承的说法,下列选项正确的是( )
A.在C#中,任何类都可以被继承
B.子类可以继承父类的所有的成员
C.一个类只能有一个子类,但可以有多个父类
D.Object类是所有类的基类
【答案】D
【详解】子类可以继承父类中的非私有成员。C#的类是单一继承。
12.在C#中,定义派生类时,指定其基类应使用的语句是( )
A.Inherits B.: C.Class D.Overrides
【答案】B
【详解】派生类继承基类,用:表示。
13.面向对象编程中的“继承”的概念是指( )
A.对象之间通过消息进行交互
B.派生自同一个基类的不同类的对象具有一些共同特征
C.对象的内部细节被隐藏
D.派生类对象可以不受限制地访问所有的基类对象
【答案】B
【详解】继承的核心作用是让派生类复用基类的属性和方法。
14.以下关于多播委托的描述,正确的是( )
A.多播委托可以同时指向多个方法
B.多播委托只能指向一个方法
C.多播委托不能用于事件
D.多播委托不支持返回值
【答案】A
【详解】多播委托可以同时指向多个方法,调用时会依次执行这些方法。
15.关于C#中的多播委托,以下说法错误的是( )
A.多播委托可以同时调用多个方法
B.多播委托的声明需要特殊语法
C.多播委托的调用顺序是按照方法被添加的顺序执行
D.可以使用+=和-=运算符管理多播委托中的方法
【答案】B
【详解】多播委托的声明与普通委托相同,不需要特殊语法。多播委托可以同时调用多个方法,并且调用顺序是按照方法被添加的顺序执行。
16.关于C#中的委托,以下说法正确的是( )
A.委托可以用于实现事件处理
B.委托不能用于回调机制
C.委托的调用方式与普通方法不同
D.委托不能被赋值给匿名方法
【答案】A
【详解】委托可以用于实现事件处理。委托也可以用于回调机制,并且可以被赋值给匿名方法。委托的调用方式与普通方法类似。
17.下面的委托声明正确的是( )
A.delegate void MyDelegate(int a, int b) { } B.delegate int MyDelegate(int a, int b);
C.delegate MyDelegate(int a, int b); D.void delegate MyDelegate(int a, int b);
【答案】B
【详解】选项 A:委托声明时不能有方法体,所以 A 错误。选项 B:正确的委托声明格式,指定了返回值类型 int 和参数列表 (int a, int b),所以 B 正确。选项 C:委托声明需要指定返回值类型,此声明缺少返回值类型,所以 C 错误。选项 D:委托声明的正确语法是 delegate 返回值类型 委托名(参数列表);,此选项语法错误,所以 D 错误。
18.关于this关键字,说法正确的是( )
A.this关键字用于引用类的当前实例 B.this关键字可以用于静态方法中
C.this关键字只能用于字段 D.this关键字用于引用类的父类实例
【答案】A
【详解】this关键字用于引用类的当前实例,不能用于静态方法中,因为它与特定的实例无关。
19.下面有关类的继承的说法正确的是( )
A.派生类的成员应该与基类的成员一致,不能为派生类增加新成员
B.在派生类中可通过隐藏继承成员,来删除基类的成员
C.在描述类的继承关系时,父类与子类是基类与派生类的另一种说法
D.所有的类成员都可以被继承
【答案】C
【详解】派生类可以拥有基类的成员,同时也能添加新的成员,派生类中使用new关键字隐藏基类成员,并未真正删除基类成员,基类中的私有成员不能被派生类继承。
20.继承具有 ,即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员。( )
A.规律性 B.传递性 C.重复性 D.多样性
【答案】B
【详解】在面向对象编程中,继承的传递性是指:如果类 B 继承自类 A,类 C 又继承自类 B,那么类 C 不仅会继承类 B 的成员,还会自动继承类 A的成员。
二、填空题(本大题共8小题,每题5分,共40分)
21.静态字段在类的所有__________之间共享相同的值。
【答案】实例
【详解】静态字段是“类级别”的,不管创建多少个类的实例,它们访问的静态字段是同一个,值共享,所以填“实例” 。
22.C# 中,static 关键字修饰的成员属于__________,而非特定实例。
【答案】类(或“类级别” )
【详解】静态成员(静态字段、静态属性、静态方法 )关联“类”本身,所有实例共享,不依赖具体对象,所以填“类(或类级别 )” 。
23.在C#类中,被调用的方法中的_________语句可以用来向调用方法传递表达式的值。
【答案】return
24.C#的类定义中可以包含两种成员:静态成员和非静态成员。使用________关键字修饰的是静态成员,反之为非静态成员。
【答案】static
25.当子类继承父类后,若要修改父类中虚方法的实现,需使用________关键字。
【答案】override
【详解】override用于重写父类的virtual、abstract或override方法,实现子类特有的逻辑。
26.在C#中,事件本质上是一种特殊的______。
【答案】多播委托
27.委托可以封装 ______ 方法和 ______ 方法。
【答案】 静态 实例
28.委托是一种________类型,用于存储对方法的引用。
【答案】引用
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:河北省普通高等学校对口招生考试计算机类《算法与程序设计考点双析卷》,依据《河北省普通高等学校对口招生计算机类专业考试考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第33、第34卷精准对标河北省考纲,知识模块(四)C#面向对象设计:
1. 掌握面向对象的三大特征:封装、继承、多态;
2. 掌握类和对象的概念、类的定义、对象的创建与使用、属性和方法;
3. 掌握关键字this、this访问属性、this调用成员方法、this调用构造方法;
4. 掌握关键字static、静态字段、静态属性、静态方法;
5. 掌握构造函数的语法格式和用法;
6. 了解封装的作用与实现;
7. 了解继承的概念、语法和实现。
河北省对口招生考试 计算机类
《算法与程序设计》考点双析卷 第33卷
C#面向对象设计(5) 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下代码中,StaticMethod 方法可以访问( )
class MyClass
{
private int instanceField;
private static int staticField;
public static void StaticMethod()
{
// 方法体
}
}
A.instanceField B.staticField C.两者都可以访问 D.两者都不能访问
2.在C#中, 静态构造函数只能对 数据成员进行初始化。( )
A.静态 B.动态 C.实例 D.静态和实例
3.下列关于“方法重载”的描述中,下列选项不正确的是( )
A.方法重载可以扩充现有类的功能
B.构造函数不可以重载
C.方法ConsoleW(int _value)是方法ConsoleW(string _value)的重载
D.方法重载即“同样的方法名但传递的参数不同”
4.在类的定义中,类的 描述了该类的对象的行为特征。( )
A.类名 B.方法 C.所属的名字空间 D.私有字段
5.在C#中,以下选项中,定义一个无参构造函数的正确语法的是( )
A.public MyClass() { } B.public MyClass { }
C.public void MyClass() { } D.public MyClass(int x) { }
6.构造函数在 C# 中,以下说法正确的是( )
A.构造函数名不必和类名相同
B.一个类可以声明多个构造函数
C.构造函数可以有返回值
D.编译器可以提供一个默认的带一个参数的构造函数
7.现有 C# 方法定义为 public void function1(参数列表) {…},在该方法中可使用的 return语句正确格式是( )
A.return 1; B.return parameter1; C.return function1; D.return;
8.类 MyClass 中,下列语句定义了一个只读的属性 Count的是( )
A.private int Count;
B.public readonly int Count;
C.private int count;
public int Count{
get{return count;}}
D.public readonly int Count {
get{ return count;}
set{count = value;} }
9.下列关于 void的说法,正确的是( )
A.void可用于声明参数 B.void可用于声明类
C.void可用于声明方法 D.void与空字符串等价
10.类中声明的属性往往具有 get和 两个访问器。( )
A.index B.array C.set D.List
11.在C#中,关于继承的说法,下列选项正确的是( )
A.在C#中,任何类都可以被继承
B.子类可以继承父类的所有的成员
C.一个类只能有一个子类,但可以有多个父类
D.Object类是所有类的基类
12.在C#中,定义派生类时,指定其基类应使用的语句是( )
A.Inherits B.: C.Class D.Overrides
13.面向对象编程中的“继承”的概念是指( )
A.对象之间通过消息进行交互
B.派生自同一个基类的不同类的对象具有一些共同特征
C.对象的内部细节被隐藏
D.派生类对象可以不受限制地访问所有的基类对象
14.以下关于多播委托的描述,正确的是( )
A.多播委托可以同时指向多个方法
B.多播委托只能指向一个方法
C.多播委托不能用于事件
D.多播委托不支持返回值
15.关于C#中的多播委托,以下说法错误的是( )
A.多播委托可以同时调用多个方法
B.多播委托的声明需要特殊语法
C.多播委托的调用顺序是按照方法被添加的顺序执行
D.可以使用+=和-=运算符管理多播委托中的方法
16.关于C#中的委托,以下说法正确的是( )
A.委托可以用于实现事件处理
B.委托不能用于回调机制
C.委托的调用方式与普通方法不同
D.委托不能被赋值给匿名方法
17.下面的委托声明正确的是( )
A.delegate void MyDelegate(int a, int b) { } B.delegate int MyDelegate(int a, int b);
C.delegate MyDelegate(int a, int b); D.void delegate MyDelegate(int a, int b);
18.关于this关键字,说法正确的是( )
A.this关键字用于引用类的当前实例 B.this关键字可以用于静态方法中
C.this关键字只能用于字段 D.this关键字用于引用类的父类实例
19.下面有关类的继承的说法正确的是( )
A.派生类的成员应该与基类的成员一致,不能为派生类增加新成员
B.在派生类中可通过隐藏继承成员,来删除基类的成员
C.在描述类的继承关系时,父类与子类是基类与派生类的另一种说法
D.所有的类成员都可以被继承
20.继承具有 ,即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员。( )
A.规律性 B.传递性 C.重复性 D.多样性
二、填空题(本大题共8小题,每题5分,共40分)
21.静态字段在类的所有__________之间共享相同的值。
22.C# 中,static 关键字修饰的成员属于__________,而非特定实例。
23.在C#类中,被调用的方法中的_________语句可以用来向调用方法传递表达式的值。
24.C#的类定义中可以包含两种成员:静态成员和非静态成员。使用________关键字修饰的是静态成员,反之为非静态成员。
25.当子类继承父类后,若要修改父类中虚方法的实现,需使用________关键字。
26.在C#中,事件本质上是一种特殊的______。
27.委托可以封装 ______ 方法和 ______ 方法。
28.委托是一种________类型,用于存储对方法的引用。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$