一.class普通類
1.類的定義:
類的訪問修飾符 修飾符 類名
{
類的成員
}
在 C# 語言中創建的任何項目都有類的存在,通過類能很好地體現面向對象語言中封裝、繼承、多態的特性。
- 類的訪問修飾符:用於設定對類的訪問限制,包括 public、internal 或者不寫,用 internal 或者不寫時代表只能在當前項目中訪問類;public 則代表可以在任何項目中訪問類。
- 修飾符:修飾符是對類本身特點的描述,包括 abstract、sealed 和 static。abstract 是抽象的意思,使用它修飾符的類不能被實例化;sealed 修飾的類是密封類,不能 被繼承;static 修飾的類是靜態類,不能被實例化。
- 類名:類名用於描述類的功能,因此在定義類名時最好是具有實際意義,這樣方便用戶理解類中描述的內容。在同一個命名空間下類名必須是唯一的。
- 類的成員:在類中能定義的元素,主要包括字段、屬性、方法。
二.抽象類或方法
- abstract 關鍵字代表的是抽象的,使用該關鍵字能修飾類和方法,修飾的方法被稱為抽象方法、修飾的類被稱為抽象類。
- abstract 關鍵字只能用於普通方法,不能用於 static(靜態) 方法或者構造方法中。
1.抽象方法的定義
訪問修飾符 abstract 方法返回值類型 方法名(參數列表);
2.抽象方法的 3 個特征:
- 抽象方法只有聲明沒有實現(沒有方法體)
- 抽象方法必須存在於抽象類中
- 子類重寫父類時,必須重寫父類所有的抽象方法
注意:抽象方法不能使用 private 修飾,因為抽象方法必須被子類重寫,而如果使用了 private 聲明,則子類是無法重寫的。
1.抽象類的定義:
訪問修飾符 abstract class 類名
{
//類成員
}
2.抽象類使用規則:
- 抽象類和抽象方法都要使用 abstract 關鍵字聲明。
- 如果一個方法被聲明為抽象的,那么這個類也必須聲明為抽象的。而一個抽象類中,可以有 0~n 個抽象方法,以及 0~n 個具體方法。
- 抽象類不能實例化,也就是不能使用 new 關鍵字創建對象。
三.抽象類與普通類區別
1.關鍵字:抽象類聲明時需要abstract 關鍵字來定義 ,而普通類則可以是public private等。
2.方法:抽象類里的抽象方法里不能有方法的主體,只能是抽象方法的聲明,而普通類里的方法里可以有主體。
3.實例化:抽象類是不能被實例化的,也就是不能用new調用構造函數創建對象,而普通類可以通過new關鍵字進行實例化。
4.訪問權限:抽象類的訪問權限限於public和protected,因為抽象類方法是需要繼承之后讓子類去實現的,private修飾的方法不能被重寫,抽象方法的目的就是為了繼承以后再子類里重寫。而普通類的訪問權限沒有限制,都可以修飾。
5.繼承:抽象類被繼承時,子類必須實現它的所有方法,如果子類沒有實現父類的抽象方法,則必須將子類也定義成抽象類。而普通類被繼承時,不需要實現它的所有方法。