没有合适的资源?快使用搜索试试~ 我知道了~
面向对象程序设计习题.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 75 浏览量
2023-04-21
09:45:03
上传
评论
收藏 60KB DOCX 举报
温馨提示
试读
38页
面向对象程序设计习题.docx
资源推荐
资源详情
资源评论
第 6 章 面向对象程序设计
一.选择题
1.下面有关类和对象的说法中,不对的的是【 】。
A) 类是系统提供的一种数据类型 B) 对象是类的实例
C) 类和对象的关系是抽象和具体的关系 D) 任何一个对象只能属于一个具
体的类
2.面向对象的特点重要概括为【 】。
A) 可分解性、可组合型性和可分类性 B) 继承性、封装性和多态性
C) 封装性、易维护性、可扩展性和可通用性 D) 抽象性、继承性和封装性
3.要使一个类能被同一命名空间中的其他类访问,但不能被这个命名空间以外的类访问,
该类可以【 】。
A) 不使用任何修饰符 B) 使用 private 修饰符
C) 使用 public 修饰符 D) 使用 internal 修饰符
4.在 C#中,【 】访问修饰符修饰的字段只能由当前程序集访问。
A) private B) public C) protected D) internal
5.类的字段和方法的默认访问修饰符是【 】。
A) public B) private C) protected D) internal
6.下列关于构造函数的描述中,不对的的是【 】。
A) 构造函数中,不可以包含 return 语句 B) 一个类只能有一个构造函数
C) 实例构造函数在生成类实例时被自动调用 D) 用户可以定义无参构造函数
7.下列关于构造函数的描述中,【 】是对的的。
A) 构造函数名必须与类名相同 B) 构造函数不可以重载
C) 构造函数不能带参数 D) 构造函数可以声明返回类型
8.下列的【 】不是构造函数的特性。
A) 构造函数的函数名与类名相同 B) 构造函数可以重载
C) 构造函数可以带有参数 D) 可以指定构造函数的返回值类
型
9.类 ClassA 有一个名为 M1 的方法,在程序中有如下一段代码,假设该段代码是可以执
行的,则声明 M1 方法时一定使用了【 】修饰符。
ClassA Aobj=new ClassA();
ClassA.M1();
A) public B) public static C) private D) virtual
10.在 C#中,从属性的读写特性上来进行分类,可以划分为以下 3 种,除了【 】。
A) 只读属性 B) 只写属性 C) 读写属性 D) 不可读不可
写属性
11.在 C#中,以下关于属性的描述中对的的是【 】。
A) 属性是以 public 关键字修饰的字段,以 public 关键字修饰的字段也可称为属性
B) 属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏
C) 要定义只读属性只需在属性名前加上 readonly 关键字
D) C#的类中不能自定义属性
12.以下类 MyClass 的属性 count 属于【 】属性。
class MyClass
{ int i;
int count { get {return i; } }
}
A) 只读 B) 只写属性 C) 读写 D) 不可读不可
写
13.C#中的 TestClass 为一自定义类,其中有如下属性定义:
public int Property{ …… }
使用以下语句创建了该类的对象,并让变量 obj 引用该对象。
TestClass obj=new TestClass();
那么,可通过【 】方式访问类 TestClass 的 Property 属性。
A) MyClass. Property B) obj. Property
C) TestClass. Property D) obj. Property()
14.关于 C#语言的方法,下列叙述对的的是【 】。
A) 方法的定义不能嵌套,但方法的调用可以嵌套
B) 方法的定义可以嵌套,但方法的调用不能嵌套
C) 方法的定义和调用都不能嵌套
D) 方法的定义和调用都可以嵌套
15.以下所列的各方法头部中,对的的是【 】。
A) void play(var a:Integer, var b:Integer) B) void play(int a, b)
C) void play(int a, int b) D) Sub play(a as integer, b as integer)
16.在类 A 中定义了属性 y:
class A
{ public int y
{ get { return 1; }
set { }
}
}
并试图通过下列代码来实现对属性 y 的访问:
A b=new A();
b.y=2;
int x=b.y;
对此,下列说法对的的是【 】。
A) 属性 y 可读可写,因此变量 x 的值为 2
B) 属性 y 可读,但不可写,因此语句“b.y=2;”是错误的
C) 属性 y 可写,但不可读,因此语句“int x=b.y;”是错误的
D) 属性 y 可读可写,变量 x 的值为 1
17.有以下类声明:
public class Class1
{ private string _sData="OK!";
privare string sData
{ set { _sData = value;} }
}
在 Main 函数中,在成功创建该类的对象 obj 后,以下【 】语句是合法的。
A) obj. _sData="Hello!" B) obj. set(obj.sData);
C) obj. sData="Hello!" D) Console.WriteLine(obj. sData);
18.在类的定义中,类的【 】描述了该类的对象的行为特性。
A) 字段 B) 方法 C) 属性 D) 类名
19.调用重载方法时,系统根据【 】来选择具体的方法。
A) 参数的类型 B) 参数的个数和类型
C) 参数个数 D) 方法的返回值类型
20.下列关于方法重载的说法中,完全对的的是【 】。
A) 重载方法的参数个数必须不同 B) 重载方法必须具有不同的形参列表
C) 重载方法必须具有不同的返回值类型 D) 重载方法的参数类型必须不同
21.关于静态成员,下列说法对的的是【 】。
A) 同一个类中的静态成员,类实例化后,在不同的对象中形成不同的静态成员
B) 在类实例化后,同类型的对象都共享类的静态成员,静态成员只有一个版本
C) 在类定义时静态成员属于类,在类实例化后静态成员属于对象
D) 在类实例化后静态成员已被实例化,因此不同的对象有不同的静态成员
22.下列关于静态方法的说法,错误的是【 】。
A) 静态方法不对特定实例进行操作,不与实例相关联
B) 使用静态方法的语法格式:类名.静态方法(实参列表)
C) 静态方法只能访问类中的静态成员,不能访问非静态成员
D) 静态方法不能访问类中的静态成员
23.已知: int a=100;
void Func(ref int b) { …… }
则下列函数调用对的的是【 】。
A) Func(ref(10*a)) B) Func(ref 10*a) C) Func(ref(a) ) D) Func(ref a)
24.下面对方法中的 ref 和 out 参数说明错误的是【 】。
A) ref 和 out 参数传递方法相同,都是把实参的内存地址传递给形参,实参与形参指向
同一个内存存储区域,但 ref 规定实参必须在调用之前明确赋过值
剩余37页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3650
- 资源: 59万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功