普通類,抽象類,兩者的區別,


一.class普通類

1.類的定義:

     類的訪問修飾符    修飾符    類名
    {
           類的成員
    }

在 C# 語言中創建的任何項目都有類的存在,通過類能很好地體現面向對象語言中封裝、繼承、多態的特性。

  • 類的訪問修飾符:用於設定對類的訪問限制,包括 public、internal 或者不寫,用 internal 或者不寫時代表只能在當前項目中訪問類;public 則代表可以在任何項目中訪問類。
  • 修飾符:修飾符是對類本身特點的描述,包括 abstract、sealed 和 static。abstract 是抽象的意思,使用它修飾符的類不能被實例化;sealed 修飾的類是密封類,不能 被繼承;static 修飾的類是靜態類,不能被實例化。
  • 類名:類名用於描述類的功能,因此在定義類名時最好是具有實際意義,這樣方便用戶理解類中描述的內容。在同一個命名空間下類名必須是唯一的。
  • 類的成員:在類中能定義的元素,主要包括字段、屬性、方法。

二.抽象類或方法

  • abstract 關鍵字代表的是抽象的,使用該關鍵字能修飾類和方法,修飾的方法被稱為抽象方法、修飾的類被稱為抽象類。
  • abstract 關鍵字只能用於普通方法,不能用於 static(靜態) 方法或者構造方法中。

1.抽象方法的定義

         訪問修飾符  abstract  方法返回值類型  方法名(參數列表);

2.抽象方法的 3 個特征:

  1. 抽象方法只有聲明沒有實現(沒有方法體)
  2. 抽象方法必須存在於抽象類中
  3. 子類重寫父類時,必須重寫父類所有的抽象方法

注意:抽象方法不能使用 private 修飾,因為抽象方法必須被子類重寫,而如果使用了 private 聲明,則子類是無法重寫的。

1.抽象類的定義:
        訪問修飾符  abstract class  類名
        {
            //類成員
        }
2.抽象類使用規則:

  1. 抽象類和抽象方法都要使用 abstract 關鍵字聲明。
  2. 如果一個方法被聲明為抽象的,那么這個類也必須聲明為抽象的。而一個抽象類中,可以有 0~n 個抽象方法,以及 0~n 個具體方法。
  3. 抽象類不能實例化,也就是不能使用 new 關鍵字創建對象。

 

三.抽象類與普通類區別

1.關鍵字:抽象類聲明時需要abstract 關鍵字來定義 ,而普通類則可以是public private等。

2.方法:抽象類里的抽象方法里不能有方法的主體,只能是抽象方法的聲明,而普通類里的方法里可以有主體。

3.實例化:抽象類是不能被實例化的,也就是不能用new調用構造函數創建對象,而普通類可以通過new關鍵字進行實例化。

4.訪問權限:抽象類的訪問權限限於public和protected,因為抽象類方法是需要繼承之后讓子類去實現的,private修飾的方法不能被重寫,抽象方法的目的就是為了繼承以后再子類里重寫。而普通類的訪問權限沒有限制,都可以修飾。

5.繼承:抽象類被繼承時,子類必須實現它的所有方法,如果子類沒有實現父類的抽象方法,則必須將子類也定義成抽象類。而普通類被繼承時,不需要實現它的所有方法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM