複製鏈接
請複製以下鏈接發送給好友

抽象成員

鎖定
如果成員前面使用了abstract修飾符標識,那麼該成員就被稱為抽象成員。主要應用於像各種多邊形求面積等邏輯統一但實例差異比較大的環境中。
中文名
抽象成員
釋    義
成員使用了abstract修飾符標識
應用領域
計算機
性    質
計算機術語

目錄

抽象成員概念

如果成員前面使用了abstract修飾符標識,那麼該成員就被稱為抽象成員。

抽象成員使用説明

1. 抽象方法只是從邏輯上對操作進行了描述,並不對操作進行具體的實現。它和虛函數不同,虛函數中可以包含具體的運算來實現指定的操作。
2. abstract修飾符能夠應用在類、方法前面,使用abstract修飾符聲明的類只能作為基類來派生出其他的類,即抽象類不能創建具體的對象類、不能產生實例。
3. 抽象方法必須在抽象類中聲明。
4. 抽象成員沒有代碼實現塊,即抽象成員後面沒有{}。
5. 抽象成員的訪問權限不能是private。
6. 抽象方法前面不能使用static、virtual、override修飾符。
7. 抽象類可以派生出另一個抽象類。
8. 任何派生自抽象類的類必須使用override關鍵字來實現抽象類中所有的抽象成員,除非派生類本身也是抽象類。
9. abstract修飾符不能用於靜態代碼屬性。
抽象類通過派生類實現了它本身的內部邏輯功能。派生類通過override關鍵字來重載代碼屬性和方法,實現了具體的邏輯功能,即更改和獲取保護成員變量的數據。這樣在主函數中通過對派生類進行實例化,就可以應用產生的對象輸出類中保存的實際數據了。
抽象類主要應用於像各種多邊形求面積等邏輯統一但實例差異比較大的環境中。

抽象成員示例

using System; //引入命名空間
public abstract class A //定義抽象類A
{
/*
* 聲明抽象成員,必須在抽象類中。
* 聲明抽象成員OutPut(),沒有實現方法。
*/
public abstract void OutPut();
}
class Test : A //定義派生類Test,基類為A
{
public override void OutPut() //用override來重新定義抽象成員,對抽象方法實例化
{
Console.WriteLine("This is a abstract!");
}
static void Main()
{
Test t = new Test(); //
t.OutPut(); //用實例化對象來引用OutPut()
}
}
輸出結果:This is a abstract! [1] 
參考資料
  • 1.    郭大全.C#程序設計:清華大學出版社,2011