asp.net 虛方法、抽象方法、接口疑問
更新時間:2009年06月13日 20:24:45 作者:
asp.net 虛方法、抽象方法、接口疑問等說明。
一、抽象類中可以提供非抽象的執(zhí)行方法嗎?接口呢?
答:抽象類可以這么寫:
public abstract class A
{
public string getWebUrl()
{
return "jb51.net";
}
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)鍵字?
答:不可以,抽象類中只能包含抽象方法和抽象訪問器。
四、抽象類能被實例化嗎?
答:不可以。
答:抽象類可以這么寫:
復(fù)制代碼 代碼如下:
public abstract class A
{
public string getWebUrl()
{
return "jb51.net";
}
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)鍵字?
答:不可以,抽象類中只能包含抽象方法和抽象訪問器。
四、抽象類能被實例化嗎?
答:不可以。
您可能感興趣的文章:
相關(guān)文章
.Net?Core?使用?TagProvider?與?Enricher?豐富日志的操作代碼
這篇文章主要介紹了.Net?Core?使用?TagProvider?與?Enricher?豐富日志的操作,本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下2024-03-03
CZGL.ProcessMetrics處理監(jiān)控數(shù)據(jù)的三種方式介紹
這篇文章介紹了CZGL.ProcessMetrics處理監(jiān)控數(shù)據(jù)的三種方式,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
關(guān)閉子頁面刷新父頁面中部分控件數(shù)據(jù)的方法
關(guān)閉子頁面刷新父頁面中部分控件數(shù)據(jù),具體的實現(xiàn)代碼如下,感興趣的朋友可以參考下哈2013-05-05
基于.NET8實現(xiàn)WinFrom應(yīng)用窗口自動縮放功能
這篇文章主要為大家詳細介紹了如何基于.net8 WinFrom實現(xiàn)應(yīng)用窗口自動縮放功能,文中的示例代碼講解詳細,有需要的小伙伴可以參考一下2025-01-01
asp.net Repeater取得CheckBox選中的某行某個值的c#寫法
asp.net(c#)利用Repeater取得CheckBox選中行的某個值的代碼2008-08-08

