一、抽象類中可以提供非抽象的執(zhí)行方法嗎?接口呢? 答:抽象類可以這么寫: 代碼如下: public abstract class A { public string getWebUrl() { return "Vevb.com"; } public abstract string getWebName(); } public class B : A { public override string getWebName() { return "錯新站長站"; } }
運行: B b = new B(); Response.Write(b.getWebUrl()); 編譯通過沒有錯誤,而接口本身只能包含成員但不包括具體實現(xiàn),且抽象函數(shù)只能存在于抽象類中,所以接口中只有方法的簽名,但沒有具體的實現(xiàn),且不是抽象函數(shù),例如: C#復(fù)制代碼 interface IA { string getWebUrl(); string getWebName(); } 二、接口中的成員是否必須被其子類實現(xiàn)? 答:接口是抽象類的一個特例,而抽象函數(shù)都必須被其子類覆蓋實現(xiàn),接口中的成員也一樣必須被其子類實現(xiàn)。 三、抽象類中是否可以使用virtual關(guān)鍵字? 答:不可以,抽象類中只能包含抽象方法和抽象訪問器。 四、抽象類能被實例化嗎? 答:不可以。