C#面向對象面試題集錦


1.簡述C#中的虛方法

答:注意:當使用virtual關鍵字修飾符后,不允許再同時使用abstract,static,或override關鍵字進行修飾

 

使用virtual關鍵字修飾的方法就是虛方法,虛方法的關鍵字用於修飾屬性方法.索引器或事件聲明,並使他們可以在

派生類中被重寫.虛方法必須並提供派生類覆蓋該方法的選項,並且必須有實現部分,虛方法的作用是可以在派生類中被

重寫.

 

2.簡述C#中的密封類和密封方法

答:密封類使用sealed關鍵字進行修飾,他不能用作其他類的基類,並且他沒有派生類.密封類的作用是防止其他類繼承該類

密封方法是使用sealed關鍵字進行修飾的方法,它並不影響類的繼承,但它可以防止重寫基類中特定的虛方法.

 

3.C#靜態類構造方法特點

答:注意:靜態構造方法,是在構造方法的名字前使用static關鍵字修飾符的構造方法.

C#中靜態類構造方法最主要的特點是:靜態的構造方法是最先被執行的構造方法,並且在一個類里只允許有一個無參的靜態構造方法.

4個特點如下:只允許有一個無參的靜態構造方法在一個類中存在.

      靜態的構造方法不會被繼承

      在所有的靜態成員被引用之前執行靜態構造方法

      在所有的構造方法中最先被執行的是靜態的構造方法.

 

4.簡述C#派生類中的構造函數

答:使用C#派生類中的構造函數時,需要注意關鍵字base和this的區別,關鍵字base表示調用基類中的構造函數,而this表示調用本類中的構造函數.

 

5.簡述接口和接口繼承

答:C#中接口具有9中特性:

      1.接口只定義,不包含方法的實現

      2.接口可以包含方法,屬性.事件和索引器

      3.接口成員必須是公共的

      4.接口不能直接實例化

      5,接口不能包含任何字段

      6.接口描述可屬於任何類或結構的一組相關行為.

      7.接口自身均可以從多個接口繼承

      8.類和結構可以從多個接口繼承

      9.接口類似於抽象類,但繼承接口的類型必須實現接口中的所有定義成員對象.

接口是把隱式公共方法和屬性組合起來,以封裝特定功能的一個集合.當定義了接口,就必須在繼承類中實現它,這樣類就支持接口中所

指定的所有屬性和成員.

 

6.簡述事件機制

答:事件是.net程序員中經常使用的一個機制,事件是一種使對象或類能夠提供通知的成員,客戶端可以通過提供事件處理程序為相應的

事件添加可執行代碼,事件可以理解為一種特殊的委托.

 

7.什么是委托

答:本質上,委托的調用就是執行了在定義委托時所生成的Invoke()方法

C#中的委托類都繼承自Systen.Delegate類型,委托類型的聲明與方法簽名相似,有一個返回值和任意數目類型的參數.

委托是一種可用於封裝命名或匿名方法的引用類型.委托類似於函數指針,但是委托是類型安全和可靠的.

 

8.C#中被委托的方法必須是靜態的嘛?

答:通過上面的分析讀者可以清晰地判別,委托不僅能綁定靜態方法,同時也可綁定實例方法.當綁定實例方法時,Delegate.Target屬性將會設置成指向該實例方法所屬類型的一個實例對象,當綁定靜態方法時,Delegate.Target屬性將會設置成null;

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM