下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C#面向对象编程 -多态1C#中的方法重写使用关键字() 。a) overrideb) overloadc) staticd) inherit2以下的 C#代码,试图用来定义一个接口:public interface IFileint A;int delFile() A = 3;void disFile();关于以上的代码,以下描述错误的是() 。(选择一项)a) 以上的代码中存在的错误包括:不能在接口中定义变量,所以 int A 代码行将出现错误b) 以上的代码中存在的错误包括: 接口方法 delFile 是不允许实现的, 所以不能编写具体的 实现函数c) 代码 void disFile()
2、; 定义无错误,接口可以没有返回值d) 代码 void disFile(); 应该编写为 void disFile();3在 C#中,接口与抽象基类的区别在于() 。a) 抽象基类可以包含非抽象方法,而接口只能包含抽象方法b) 抽象基类可以被实例化,而接口不能被实例化c) 抽象基类不能被实例化,而接口可以被实例化d) 抽象基类就是接口,它们之间无差别4在开发某图书馆的图书信息管理系统的过程中, 开始为教材类图书建立一个 TextBook 类; 现在又增加了杂志类图书,于是需要改变设计,则下面最好的设计应该是() 。a) 建立一个新的杂志类 Journal 。b) 建立一个新的杂志类 Journ
3、al ,并继承 TextBoook 类。c) 建立一个基类 Book 和一个新的杂志类 Journal,并让 Journal 类和 TextBoook 类都继 承于 Book 类。d) 不建立任何类,把杂志图书的某些特殊属性加到 TextBoook 类中。5可以使用()关键字重写方法。a) Overrideb) New 6()可以看作类的模具。A. 抽象类B. 接口C. 虚方法B.一个类可以实现多个接口。D.接口中可以包含已实现的方法。7以下叙述正确的是: () A接口中可以有虚方法。 C接口不能被实例化。8.下列代码输出为( ):class Fatherpublic void F() ();
4、 public virtual void G() (); class Son: Fathernew public void F() (); public override void G() (); class override_new static void Main() Son b = new Son(); Father a = b;();();();();A.B.C.D.9写出程序的输出结果:public class Apublic virtual void Fun1(int i) (i);public void Fun2(A a)(1);Fun1(5);public class B:A
5、public override void Fun1(int i)(i+1);public static void Main() B b=new B();A a=new A();(b);(a);10在 C中,允许多接口继承,从多个接口时,使用“:”后跟继承的接口的名字,多个接口名称之间使用()符号进行分割。 (选择一项)a) ”.b) ”-”c) ”,”d) ”:”11在.NET中,关于组件多态性的陈述,下面除了 ( )都是正确的。 (选择一项 )a 可以通过接口实现多态性b 可以通过抽象类实现多态性c 多态性不只是重载或重写,而是智能重写d 在多态性中,需要调用哪个方法的决定是在设计时做出的1
6、2多态性允许对类的某个方法进行调用而无需考虑该方法所提供的特定实现,例如, 可能有名为了 Road 的类, 它调用另一个类的 Drive 方法, 另一个类可能是 SportsCar 或 SmallCar, 但二者都提供 Drive 方法, 虽然 Drive 方法的实现因类的不同而异, 但 Road 类仍可以调用 它,并且它提供的结果可由 Road 类使用和解释。在 .NET 中,可以由以下的方式来实现组 件中多态性,除了() 。(选择一项)a) 通过接口实现多态性b) 通过多个不同的子类从单个基类继承实现多态c) 通过抽象类实现多态性d) 通过受保护的成员函数来实现多态性13阅读以下的 C#代
7、码:class Apublic abstract void printStr(string str)(str);class B:Apublic override void printStr(string str)str=str+( 重写的方法 );(str);class DefaultInitializerApppublic static void Main()B b=new B();A a=b;(打印 );(打印 );(); 运行程序后将在控制台窗口打印 ( )。(选择一项 )a. 打印 重写的方法b. 打印 打印 重写的方法c. 打印d. 程序有误,不能运行14在 C#的语法中,()关键字
8、可以实现在派生类中对基类的虚函数进行重载(选一项)aoverridebnewcstaticdvirtual15对下面的 C # 程序 :using System;public interface IAccountvoid PosInterest();void DeductFees(int feeSchedule);class BusinessAccount : IAccountint A;public static void Main()BusinessAccount B = new BusinessAccount();();public void ()A = A+1;public void
9、(int feeSchedule)A = A + feeSchedule; 以下的说法正确的是 ( )(选择一项 )a) 程序将出现编译错误 ,指示不能在实现接口 BusinessAccount 的类中定义成员 A.b) 程序将出现编译错误 ,指示 Public 关键字对接口项无效c) 程序编译正常 ,但是出现运行时错误 ,指示变量 A 没有初始化d) 程序将正常运行 ,输出为 016. 可以使用()关键字重写方法。A. OverrideB. new17. ()可以看作类的模具。A. 抽象类B. 接口C. 虚方法18. 请问,此程序输出结果是 () abstract class BaseCla
10、ss public virtual void MethodA()(BaseClass); public virtual void MethodB()class Class1: BaseClass public void MethodA()(Class1); public override void MethodB() class Class2: Class1new public void MethodB()class MainClasspublic static void Main(string args)Class2 o = new Class2();(); A. BaseClassB. B
11、assClass Class1C. Class1D. Class1 BassClass19. 请问,此程序输出结果是 ()public abstract class A public A() (A); public virtual void Fun() (); public class B: A public B() (B); public new void Fun() (); public static void Main() A a = new B();(); A. A B ()B. A B ()C. B A ()D. B A ()20. 以下叙述正确的是 ():A. 接口中可以有虚方法。
12、B. 一个类可以实现多个接口。C. 接口不能被实例化。D. 接口中可以包含已实现的方法。21以下关于 C#代码的说法正确的是() 。(选择一项) Public abstract AnimalPublic abstract void Eat();Public void Sleep()a. 该段代码正确b. 代码错误,因为类中存在非抽象方法c. 代码错误,因为类中的方法没有实现d. 通过代码“ Animal an = new Animal(); ”可以创建一个 Animal 对象22.在 c#中,关于继承和接口,以下说法正确的是() (单选)a. c#允许许多接口实现 ,也允许多重继承 #允许多接
13、口实现,但不允许多重继承 #不允许多接口实现,但允许多重继承 #不允许多重接口实现,也不允许多重继承,请问在空白处 1 和空白处 223) 在 C#中,已知下列代码的运行结果是“老虎吃动物” 分别应该填写的代码是 ()Public class AnimalPublic 空白处 1 void Eat() (“我要吃 ”); Public class Tiger:AnimalPublic 空白处 2 void Eat() (“老虎吃动物 ”);Public calssTestStatic void Main() Animal an = new Tiger();a) Virtual , newb)
14、override , virtualc) virtual , overrided) new , virtual24) 在 C#中,下列关于抽象类和接口的说法,正确的是)()(选择一项)a) 在抽象类中,所以的方法都是抽象方法b) 继承自抽象类的子类必须实现起父类(抽象类)中的所以抽象方法c) 在接口中,可以有方法实现,在抽象类中不能有方法实现d) 一个类可以从多个接口继承,也可以从多个抽象类继承25) 关于以下 C#代码的说法正确的是 ()Public abstract class AnimalPublic abstract void Eat();Public class Tiger:Anim
15、alPublic override void Eat() (“老虎吃动物 ”);Public class Tigress:TigerStatic void main()Tigress tiger=new Tigress();();a) 代码正确 ,但没有输出b) 代码正确 ,并且输出为 ”老虎吃动物 ”;c) 代码错误 ,因为 Tigress 类没有实现抽象基类 Animal 中的抽象方法d) 代码错误 ,因为抽象基类 Animal 的 Eat 方法没有实现26) 在 c#中 某程序员定义了一个 IDataBase接口,以及实现该接口的类 CDataBase ,下列关于该段代码说法 正确的是(
16、)(选择一项)public interface IDataBasevoid OpenTable(string tableName);void UpDataTable(string tableName);public class CDataBase:IDataBasepublic void OpenTable(string tableName)( 打开数据表 );public void UpdataTable( string tableName)( 更新数据表 );static void Main()CDataBase db = new CDataBase();(Customers);a) 该段
17、代码错误,因为在定义接口时,接口中的方法没有提供实现b) 该段代码错误,因为接口中声明的方法不是公有的,应此在CDataBase类中不能访问接口中的方法c) 该段代码正确,同时由于客户没有调用UpdataTable 方法,可以把 CDataTable类中的 UpdataTable 去掉,代码仍然正确d) 该段代码正确,但是如果在 IDataBase 接口中声明一个方法 void Execute(string sql); 则必须在 CDataBase 中实现该方法#中 下列代码运行结果是()(选择一项)public class Studentpublic virtual void Exam()
18、( 学生都要考试 );public class Undergraduate:Studentpublic new void Exam()();( 大学生有选择考试科目的权利 );public class Teststatic void Main()Student stu = new Undergraduate();();a) 学生都要考试b) 大学生有选择考试科目的权利c) 大学生都要考试大学生有选择考试科目的权利d) 学生都要考试学生都要考试28) c#中 下列代码的运行结果是()(选择一项) struct Student public int age; public string name;
19、public Student(int age,string name)=age;=name;public class Teststatic void Mian()Student stu1= new Student(18, 小方 );Student stu2= new Student(24, 小刚 ); stu2=stu1;=30;= 小燕 ;a) 18 小方b) 18 小燕c) 30 小燕d) 30 小方选择一项)29)在 C#中,下列()关键字用于重写基类的虚拟方法。a) overrideb) newc) based) virtual委托和事件C#面向对象编程 - 委托和事件1阅读以下 C#
20、代码Namespacetevent publicdelegatevoidnotify5(); classeventTest publicvoidRaise5(intI)if(I%3=1)Got5();publiceventnotify5Got5;classHandlerspublicstaticvoidMethod1()( 时间处理完成 );classclass10staticvoidMain(Stringargs)eventTesteObj=neweventTest();+=newnotify5;for(intcnt=0;cnt5;cnt+)inty=cnt*2+1;(y);(); 代码允许
21、的结果为() 。A) 控制台窗口不能出任何信息。B) 在控制台窗口输出“时间处理完成”1 次C) 在控制台窗口输出“时间处理完成”2 次D) 在控制台窗口输出“时间处理完成”5 次2.声明一个委托 publicdelegateintmyCallBack(intx); 则用该委托产生的回调方法的原型应该是 ()A. voidmyCallBack(intx)B. intreceive(intnum)C. stringreceive(intx)D. 不确定的 #中,关于事件的定义正确的是() 。a) privateeventOnClick();b) privateeventOnClick;c) pu
22、blicdelegatevoidClick();publiceventClickvoidOnClick();d) publicdelegatevoidClick();publiceventClickOnClick4.在 C#中,下列代码的运行结果是 (). PublicdelegatevoidBuyTicketDelegate(stringnum); PublicclassStudentPubliceventBuyTicketDelegatebtEvent;PublicStudent(stringnum) btEvent+=newBuyTicketDelegate;PublicvoidShow
23、Num(stringnum)btEvent(num);PrivatevoidBuyTicket(stringnum)(“我要买” +num+ ”次车票” );StaticvoidMain()(“创建学生对象” );Studentstu=newStudent( “ TI”);(“创建完毕” );(“ TI” );a) 创建学生对象创建完毕b) 创建学生对象我要买 TI 次车票创建完毕c) 创建学生对象创建完毕我要买 TI 次车票d) 我要买 TI 次车票创建学生对象创建完毕C#面向对象编程 -封装1C#语言使用()来引入名称空间。a) Importb) Usingc) Included) Lib
24、2在 .NET 中,以下关于命名空间的描述 ,正确的是 ().(选择一项 )a) 命名空间不可以进行嵌套b) 在一个 .cs 文件中 ,只能存在一个命名空间c) 使用 private 修饰的命名空间 ,其内部的类也不允许访问d) 命名空间使得代码更加有条理、结构更清晰3在 C#类中 ( ) 选一项a) 允许有多个相同名称的构造函数b) 允许有多个不同名称的构造函数c) 至少要有一个构造函数d) 只能有一个构造函数4在 C#中,可以直接在名称空间内声明如下类型,除了()A) 数组B) 接口C) 结构D) 委托5C#程序中的类 myClass 中的成员变量 var1 如下: public clas
25、s myClass private int var1 ; 则可以访问 var1 的有()。(选择一项)a) myClass 中包含的类b) myClass 的继承类c) myClass 的父类d) 和 myClass 在同一命名空间下的类6下列关于类方法的声明,正确的是() (选择两项)a) 方法定义类所许可的行动b) 从一个类创建的所有对象可以使用同一组属性和方法c) 每个方法应该有一个参数d) 如果在不同类中定义了类似的操作,刚他们的行为不应该是类似的7析构函数的语法是() semester()B. 错8C#类中的构造函数的特点是()选一项a) 一个类中,只能有一个构造函数b) 构造函数的
26、名称与类名一样c) 构造函数在对象销毁时自动执行d) 要求构造函数至少有两个参数9针对以下 C#代码Using System;Public class TeacherPublic string teacherName;Public string teacherSubject;Public Teacher(String name)=name;Public Teacher(String subject)= subject;Public Teacher(String name, String subject)=name;= subject;以下说法正确的是() (选择一项)A) 上述代码编译无错误,
27、类中存在三个构造函数B) 上述代码编译有错误,因为类中只能有一个构造函数C) 上述代码编译有错误,因为类中有两个具有相同参数类型的构造函数D) 上述代码编译有错误,以为类中没有不带参数的构造函数10阅读以下的 C#代码:Namespace t3_6Namespace Ford Public class Mustang Public void printMust() (“In namespace Ford”);class Class1static void Main(string args) Mustang must1=new Mustang();();();代码运行结果为 (D)。 (选择一项
28、 )a. 什么都不显示b. 在控制台打印 ”In namespace Ford”,用户输入任何数据退出c. 在控制台打印 ”In namespace Ford”,立即退出d. 提示代码有错误,不能执行11以下的 C#代码段,使用了 using 别名指令:Using T(1) Main 关键字是类型和类型成员的访问修饰符。 (D)内部成员只有在同一程序集 中的文件内才是可访问的。A. public14. 下列哪些说法是错误的 ()A. 抽象类可以实例化。B. 不可以改变常量的值 .C. 可以使用 this 引用静态方法或属性访问器 .D. readonly 变量只能在构造函数中赋值 .E. 一个父类的 private 成员可以在子类中直接调用15. 请问,的值是多少 ()class Class1public static int Count = 0;static Class1()Count+;public Class1()Count+;public static void Main()Class1 o1 = new Class1(1) ;B. 2C. 3D. 416. 下面的代码实现了设计模式中的()模式public class
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 篮网火箭达成协议书
- 慢性阻塞性肺病症状解析及呼吸训练培训
- 财务行业新员工培训
- 奔向长青- 碳中和及可持续发展高管洞察 2023
- 2025版眼科常见疾病症状及护理策略
- 如何让员工按标准化作业
- 施工员工种实训
- 完美训练法则讲解
- 数学教育教学反思报告
- 甲床缺损修复方法
- GB/T 28553-2012汽轮机蒸汽纯度
- GB/T 16921-2005金属覆盖层覆盖层厚度测量X射线光谱方法
- 政治理论水平任职资格考试题库
- 新形势下群众工作的理论与实践课件
- 2023年交银国际信托有限公司招聘笔试题库及答案解析
- 高联难度几何题100道-打印整理版
- 冻干车间配液岗位操作规程
- 《工程伦理学》配套教学课件
- 公共管理英语 第一篇 教学内容 (15)课件
- 初中数学北师大八年级上册 一次函数一次函数与三角形面积 -平行线转移法王思利
- IQC来料检验规范
评论
0/150
提交评论