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;