面向?qū)ο缶幊?練習(xí)題解答_第1頁(yè)
面向?qū)ο缶幊?練習(xí)題解答_第2頁(yè)
面向?qū)ο缶幊?練習(xí)題解答_第3頁(yè)
面向?qū)ο缶幊?練習(xí)題解答_第4頁(yè)
面向?qū)ο缶幊?練習(xí)題解答_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C#面向?qū)ο缶幊?練習(xí)題C#中的方法重寫(xiě)使用關(guān)鍵字()。a)overrideb)overloadc)staticd)In herit2 以下的C#代碼,試圖用來(lái)定義一個(gè)接口:P ublic in terface IFileint A;int delFile() A = 3;void disFile();關(guān)于以上的代碼,以下描述錯(cuò)誤的是()。(選擇一項(xiàng))a)以上的代碼中存在的錯(cuò)誤包括:不能在接口中定義變量,所以int A代碼行將出現(xiàn)錯(cuò)誤b)以上的代碼中存在的錯(cuò)誤包括:接口方法 delFile是不允許實(shí)現(xiàn)的,所以不能編寫(xiě)具體的實(shí)現(xiàn)函數(shù)c)代碼void disFile();定義無(wú)錯(cuò)誤,接口可以沒(méi)有返

2、回值d)代碼 void disFile();應(yīng)該編寫(xiě)為 void disFile();a)抽象基類可以包含非抽象方法,而接口只能包含抽象方法b)抽象基類可以被實(shí)例化,而接口不能被實(shí)例化C)抽象基類不能被實(shí)例化,而接口可以被實(shí)例化d)抽象基類就是接口,它們之間無(wú)差別TextBook類;現(xiàn)在又增加了雜志類圖書(shū),于是需要改變?cè)O(shè)計(jì),則下面最好的設(shè)計(jì)應(yīng)該是()a)建立一個(gè)新的雜志類Journal。b)建立一個(gè)新的雜志類Journal,并繼承TextBoook 類。C)建立一個(gè)基類 Book和一個(gè)新的雜志類Journal,并讓 Journal 類和 TextBoook 類4 .在開(kāi)發(fā)某圖書(shū)館的圖書(shū)信息管理

3、系統(tǒng)的過(guò)程中,開(kāi)始為教材類圖書(shū)建立一個(gè)都繼承于Book類。d)不建立任何類,把雜志圖書(shū)的某些特殊屬性加到TextBoook 類中。可以使用()關(guān)鍵字重寫(xiě)方法。a)Overrideb)New以下敘述正確的是:()A.接口中可以有虛方法。B. 一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。C 接口不能被實(shí)例化。D.接口中可以包含已實(shí)現(xiàn)的方法。7.下列代碼輸出為(): class Fatherpublic void F() Con sole.WriteLi ne("A.F"); public virtual void G() Co nsole.WriteLi ne("A.G");

4、class Son: Fathernew public void F() Co nsole.WriteLi ne("B.F"); public override void G() Con sole.WriteL in e("B.G"); class overridenewstatic void Mai n() Son b = new Son();Father a = b;a.F();b.F();a.G();b.G();A.A.FB.FA.GB.GB.A.FB.FB.GB.GC.A.FA.FB.GB.GD.B.FB.FB.GB.G&寫(xiě)出程序的輸出結(jié)

5、果:p ublic class Ap ublic virtual void Fun 1(i nt i)Con sole.WriteLi ne(i);p ublic void Fun2(A a)a.F un 1(1);Fun1(5);p ublic class B:Ap ublic override void Fun 1(i nt i)base.Fu n1(i+1);p ublic static void Main()B b=new B();A a=new A();a.Fu n2(b);b.F un 2(a);Co nsole.WriteLi ne(str);答案:9.在C #中,允許多接口繼承

6、,從多個(gè)接口時(shí),使用“:”后跟繼承的接口的名字,多個(gè)接口名稱之間使用()符號(hào)進(jìn)行分割。(選擇一項(xiàng))b) ”-> ” ? ?c),I ”d):10 .閱讀以下的C#代碼:class Ap ublic virtual void prin tStr(stri ng str)Co nsole.WriteLi ne(str);class B:Ap ublic override void prin tStr(stri ng str)str=str+"重寫(xiě)的方法"class Defaultl nitializerA ppp ublic static void Main()B b=n

7、ew B();A a=b;a.printStr(” 打印");b.printStr("打印");Con sole.ReadL in e();運(yùn)行程序后將在控制臺(tái)窗口打印 ()。(選擇一項(xiàng))a.打印重寫(xiě)的方法打印重寫(xiě)的方法b.打印打印重寫(xiě)的方法c.打印d.程序有誤,不能運(yùn)行11.在C#的語(yǔ)法中,()關(guān)鍵字可以實(shí)現(xiàn)在派生類中對(duì)基類的虛函數(shù)進(jìn)行重載(選一項(xiàng))a>overrideb>newc>staticd>virtualabstract class BaseClass public virtual void MethodA()Co nsole.W

8、riteL in e("BaseClass"); public virtual void MethodB() class Class1: BaseClass public void MethodA()Co nsole.WriteL in e("Class1"); public override void MethodB() class Class2: Class1 new public void MethodB() class Mai nClass public static void Mai n(stri ng args)Class2 o = new

9、Class2();o.MethodA(); A. BaseClassB. BassClass Class1C. Class1D. Class1 BassClass13.請(qǐng)問(wèn),此程序輸出結(jié)果是() public virtual void Fun() Co nsole.WriteLi ne("A.Fu n()"); public class B: A p ublic B() Co nsole.WriteL in e('B'); public new void Fun() Con sole.WriteL in e("B.Fu n()"); pu

10、blic static void Mai n() A a = new B();a.Fu n(); A. A B A.Fu n()B. A B B.Fu n()C. B A A.Fu n()D. B A B.Fu n()14.以下敘述正確的是():A.接口中可以有虛方法。B.一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。C.接口不能被實(shí)例化。D.接口中可以包含已實(shí)現(xiàn)的方法。15 .以下關(guān)于 C#代碼的說(shuō)法正確的是()。(選擇一項(xiàng))P ublic abstract An imalPublic abstract void Eat();Public void Slee p()a.該段代碼正確b. 代碼錯(cuò)誤,因?yàn)轭愔写嬖诜浅?/p>

11、象方法c. 代碼錯(cuò)誤,因?yàn)轭愔械姆椒](méi)有實(shí)現(xiàn)d. 通過(guò)代碼“Animal an = new Animal();”可以創(chuàng)建一個(gè)Animal對(duì)象16.在c#中,關(guān)于繼承和接口,以下說(shuō)法正確的是()(單選)a. c#允許許多接口實(shí)現(xiàn),也允許多重繼承b. c#允許多接口實(shí)現(xiàn),但不允許多重繼承c. c#不允許多接口實(shí)現(xiàn),但允許多重繼承d. c#不允許多重接口實(shí)現(xiàn),也不允許多重繼承17.在C#中,已知下列代碼的運(yùn)行結(jié)果是“老虎吃動(dòng)物”,請(qǐng)問(wèn)在空白處1和空白處2分別應(yīng)該填寫(xiě)的代碼是()Public class Ani malPublic 空白處 1 void Eat()Conson e.WriteL in

12、e(“我要吃”;Public class Tiger:A nimalPublic 空白處 2 void Eat()Conson e.WriteLi ne(“老虎吃動(dòng)物”);Public calssTestStatic void Mai n()Animal an = new Tiger();an .Eat;Public abstract class Ani mala)Virtual , newb)override , virtualc)virtual , overrided)new , virtual()(選擇一項(xiàng))a)在抽象類中,所以的方法都是抽象方法18.在C#中,下列關(guān)于抽象類和接口的說(shuō)法

13、,正確的是)b)繼承自抽象類的子類必須實(shí)現(xiàn)起父類(抽象類)中的所以抽象方法c)在接口中,可以有方法實(shí)現(xiàn),在抽象類中不能有方法實(shí)現(xiàn)d)一個(gè)類可以從多個(gè)接口繼承,也可以從多個(gè)抽象類繼承19.關(guān)于以下C#代碼的說(shuō)法正確的是()P ublic abstract void Eat();void OpenTable( string tableName);Public class Tiger:A ni malPublic override void Eat()Con sole.WriteLi ne(“老虎吃動(dòng)物”);Public class Tigress:TigerStatic void mai n()T

14、igress tiger =new Tigress();Tiger.EatO;a.代碼正確,但沒(méi)有輸出b.代碼正確,并且輸出為”老虎吃動(dòng)物”;c.d.代碼錯(cuò)誤,因?yàn)門(mén)igress類沒(méi)有實(shí)現(xiàn)抽象基類Animal中的抽象方法代碼錯(cuò)誤,因?yàn)槌橄蠡?Animal的Eat方法沒(méi)有實(shí)現(xiàn)20.在c#中某程序員定義了一個(gè)IDataBase接口,以及實(shí)現(xiàn)該接口的類 CDataBase ,下列關(guān)于該段代碼說(shuō)法正確的是()(選擇一項(xiàng))void UpDataTable( string tableName);public class CDataBase:IDataBasepublic void OpenTable(

15、string tableName) static void Main()Console.WriteLine("打開(kāi)數(shù)據(jù)表");public void UpdataTable(string tableName)Console.WriteLine("更新數(shù)據(jù)表");CDataBase db = new CDataBase();db.O penTable("Customers");a)該段代碼錯(cuò)誤,因?yàn)樵诙x接口時(shí),接口中的方法沒(méi)有提供實(shí)現(xiàn)CDataBase類中不能訪問(wèn)接口中的方法b)該段代碼錯(cuò)誤,因?yàn)榻涌谥新暶鞯姆椒ú皇枪械?,?yīng)此在c)

16、該段代碼正確,同時(shí)由于客戶沒(méi)有調(diào)用UpdataTable方法,可以把CDataTable類中的UpdataTable去掉,代碼仍然正確d)該段代碼正確,但是如果在IDataBase 接口中聲明一個(gè)方法void Execute(string sql);則必須在CDataBase中實(shí)現(xiàn)該方法 21.C#中下列代碼運(yùn)行結(jié)果是(a)(選擇一項(xiàng))Public class Studentpublic virtual void Exam()Console.WriteLine("學(xué)生都要考試");public class Undergraduate:Studentpublic new vo

17、id Exam()base .Exam();Console.WriteLine("大學(xué)生有選擇考試科目的權(quán)利");public class Teststatic void Main() Student stu = new Undergraduate();stu.Exam();a)學(xué)生都要考試 b)大學(xué)生有選擇考試科目的權(quán)利C)大學(xué)生都要考試大學(xué)生有選擇考試科目的權(quán)利d)學(xué)生都要考試學(xué)生都要考試22.C#中下列代碼的運(yùn)行結(jié)果是()(選擇一項(xiàng))struct Studentpublic int age;public string name;public Student( int age, string name)this .age=age;this .name=name;publicclass Teststatic void Mian()Studen

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論