1、Abstract:編程
abstract方法必須在abstarct類中聲明,沒有默認實現,子類必須實現。ide
2、Virtual:url
virtual方法能夠聲明在abstract類中,也能夠聲明在非abstarct類中,而且能夠有默認實現。3d
3、Interface(接口)繼承
接口的一些描述索引
1. 接口是一個引用類型,經過接口能夠實現多重繼承。
2. C#中接口不能有new、public、protected、internal、private等修飾符。
3. 接口中只能聲明"抽象"成員(因此不能直接下一步對接口進行實例化(即不能使用new操做符聲明一個接口的實例對 象)),而不能聲明共有的域或者私有的成員變量。
4. 接口聲明不包括數據成員,只能包含方法、屬性、事件、索引等成員。
5. 接口成員的訪問級別是默認的(默認爲public),因此在聲明時不能再爲接口成員指定除public外的任何訪問修飾符,不然 編譯器會報錯。
6. 接口成員不能有static、abstract、override、virtual修飾符,使用new修飾符不會報錯,但會給出警告說不須要關鍵字new。
7. 在聲明接口成員的時候,不許爲接口成員編寫具體的可執行代碼,也就是說,只要在對接口進行聲明時指明接口的成員名稱和參數就能夠了。
8. 接口一旦被繼承,子類須要把接口中全部成員實例化(經過具體的可執行代碼實現接口抽象成員的操做)。接口
(百度百科:http://baike.baidu.com/link?url=UlmCxkt6O7lqmGK4IdM5CmzwhK3nnEQmA3dCkh9I6-noq3GfVv-chDLIo3QMQYPlEo3Vv8PK8J2e9OidgP8Sta)事件
接口的意義v8
1. 接口一個比較經常使用的用法是聲明一組行爲方法,這組行爲方法能夠有不一樣的實現和多個實現,而使用這組行爲的類也只關心行爲的聲明。簡單說就是定義了交互的契約。編譯器
2. 面向接口編程,容易對應用系統進行分層,不一樣層次之間使用接口進行交互。這有如下好處:層次職責清晰;容易作UT;容易解耦(DI,IoC)。
3. 能夠實現多重繼承。