面向对象程序设计习题.docx
《面向对象程序设计习题.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计习题.docx(38页珍藏版)》请在咨信网上搜索。
1、第6章 面向对象程序设计一选择题1下面有关类和对象的说法中,不对的的是【 】。A) 类是系统提供的一种数据类型B) 对象是类的实例C) 类和对象的关系是抽象和具体的关系D) 任何一个对象只能属于一个具体的类2面向对象的特点重要概括为【 】。A) 可分解性、可组合型性和可分类性B) 继承性、封装性和多态性C) 封装性、易维护性、可扩展性和可通用性D) 抽象性、继承性和封装性3要使一个类能被同一命名空间中的其他类访问,但不能被这个命名空间以外的类访问,该类可以【 】。A) 不使用任何修饰符B) 使用private修饰符C) 使用public修饰符D) 使用internal修饰符4在C#中,【 】访
2、问修饰符修饰的字段只能由当前程序集访问。A) privateB) publicC) protectedD) internal5类的字段和方法的默认访问修饰符是【 】。A) publicB) privateC) protectedD) internal6下列关于构造函数的描述中,不对的的是【 】。A) 构造函数中,不可以包含return语句B) 一个类只能有一个构造函数C) 实例构造函数在生成类实例时被自动调用D) 用户可以定义无参构造函数7下列关于构造函数的描述中,【 】是对的的。A) 构造函数名必须与类名相同B) 构造函数不可以重载C) 构造函数不能带参数D) 构造函数可以声明返回类型8下列
3、的【 】不是构造函数的特性。A) 构造函数的函数名与类名相同B) 构造函数可以重载C) 构造函数可以带有参数D) 可以指定构造函数的返回值类型9类ClassA有一个名为M1的方法,在程序中有如下一段代码,假设该段代码是可以执行的,则声明M1方法时一定使用了【 】修饰符。ClassA Aobj=new ClassA();ClassA.M1();A) publicB) public staticC) privateD) virtual10在C#中,从属性的读写特性上来进行分类,可以划分为以下3种,除了【 】。A) 只读属性B) 只写属性C) 读写属性D) 不可读不可写属性11在C#中,以下关于属性
4、的描述中对的的是【 】。A) 属性是以public关键字修饰的字段,以public关键字修饰的字段也可称为属性B) 属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏C) 要定义只读属性只需在属性名前加上readonly关键字D) C#的类中不能自定义属性12以下类MyClass的属性count属于【 】属性。class MyClass int i;int count get return i; A) 只读B) 只写属性C) 读写D) 不可读不可写13C#中的TestClass为一自定义类,其中有如下属性定义:public int Property 使用以下语句创建了该类的对象,
5、并让变量obj引用该对象。TestClass obj=new TestClass();那么,可通过【 】方式访问类TestClass的Property属性。A) MyClass. PropertyB) obj. PropertyC) TestClass. PropertyD) obj. Property()14关于C#语言的方法,下列叙述对的的是【 】。A) 方法的定义不能嵌套,但方法的调用可以嵌套B) 方法的定义可以嵌套,但方法的调用不能嵌套C) 方法的定义和调用都不能嵌套D) 方法的定义和调用都可以嵌套15以下所列的各方法头部中,对的的是【 】。A) void play(var a:Int
6、eger, 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 yget return 1; set 并试图通过下列代码来实现对属性y的访问:A b=new A();b.y=2;int x=b.y;对此,下列说法对的的是【 】。A) 属性y可读可写,因此变量x的值为2B) 属性y可读,但不可写,因此语句“b.y=2;”是错误的C) 属性y可写,但不可读,因此语句“int x=b.y;
7、”是错误的D) 属性y可读可写,变量x的值为117有以下类声明:public class Class1private string _sData=OK!; privare string sDataset _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
8、调用重载方法时,系统根据【 】来选择具体的方法。A) 参数的类型B) 参数的个数和类型C) 参数个数D) 方法的返回值类型20下列关于方法重载的说法中,完全对的的是【 】。A) 重载方法的参数个数必须不同B) 重载方法必须具有不同的形参列表C) 重载方法必须具有不同的返回值类型D) 重载方法的参数类型必须不同21关于静态成员,下列说法对的的是【 】。A) 同一个类中的静态成员,类实例化后,在不同的对象中形成不同的静态成员B) 在类实例化后,同类型的对象都共享类的静态成员,静态成员只有一个版本C) 在类定义时静态成员属于类,在类实例化后静态成员属于对象D) 在类实例化后静态成员已被实例化,因此不
9、同的对象有不同的静态成员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参数传递方法相同,都是把实参的
10、内存地址传递给形参,实参与形参指向同一个内存存储区域,但ref规定实参必须在调用之前明确赋过值B) ref是将实参传入形参,out只能用于从方法中传出值,而不能从方法调用处接受实参数据。C) ref和out参数由于传递的是实参的地址,所以规定实参和形参的数据类型必须一致D) ref和out参数规定实参和形参的数据类型或者一致,或者实参能被隐式地转化为形参的类型25设方法Max的署名为:public void Max(out int max, params int a),maxval是一个int型的值类型变量,arrayA是一个int型的数组对象,则下列调用该方法的语句中有错的是【 】。A) M
11、ax(maxval,4,5,3)B) Max(out maxval, 4, 5, 3)C) Max(out maxval, arrayA)D) Max(out maxval, 4, 5)26. 有以下类声明:class Class1public static int Count = 0;public Class1()Count+;在执行以下语句后,Class1.Count的值是【 】。Class1 o1 = new Class1();Class1 o2 = new Class1();A) 1B) 2C) 3D) 027在类MyClass中有下列方法定义:public void test(par
12、ams int arr) Console.Write(使用params参数!); public void test(int x, int y) Console.Write(使用两个整形参数!); 请问上述方法重载有无二义性?若没有,则下列语句的输出为【 】。Myclass x=new MyClass();x.test(0);x.test(0,1);x.test(0,1,2);A) 有语义二义性B) 使用params参数!使用params参数!使用params参数!C) 使用params参数!使用两个整形参数!使用params参数!D) 使用params参数!使用两个整形参数!使用两个整形参数!
13、28分析以下C#语句,注意类MyClass没有访问修饰符。若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择【 】。namespace testclass MyClassint i;A) privateB) publicC) protectedD) internal29C#中MyClass为一个自定义类,其中有以下方法定义:public void Hello() 并使用以下语句创建了该类的对象obj,则可以访问类MyClass的Hello方法的语句是【 】。MyClass obj=new MyClass()A) obj.Hello()B) obj:Hello
14、()C) MyClass.HelloD) MyClass:Hello30下列的关键字中可用于引用类的当前实例的是【 】。A) baseB) thisC) newD) override31在C#中,以下有关索引器的参数个数的说法中对的的是【 】。A) 索引器只能有一个参数B) 索引器可以有多个参数C) 索引器可以没有参数D) 索引器至少要有两个参数32委托声明的关键字是【 】。A) delegateB) sealedC) operatorD) event33以下语句的作用是【 】。public delegate void Hello(string s);A) 声明了一个名称为Hello的全局方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 习题
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。