.NET學習之抽象類和接口

抽象類特點

1.抽象成員必須標記爲abstract,並且不能有任何實現。
2.抽象成員必須在抽象類中。
3.抽象類不能被實例化。
4.子類繼承抽象類後,必須把父類中的所有抽象成員都重寫。
5.抽象成員的訪問修飾符不能是private。
6.在抽象類中可以包含實例成員,並且抽象類的實例成員可以不被子類實現
7.抽象類是有構造函數的,雖然不能被實例化。
8、如果父類的抽象方法中有參數,那麼。繼承這個抽象父類的子類在重寫父類的方法的時候必須傳入對應的參數。
如果抽象父類的抽象方法中有返回值,那麼子類在重寫這個抽象方法的時候 也必須要傳入返回值。

 

接口特點

1、
接口中的成員不能加“訪問修飾符”,接口中的成員訪問修飾符爲public,不能修改。
2、
接口中只能有方法、屬性、索引器、事件,不能有“字段”和構造函數。
3、
一個類可以同時繼承一個類並實現多個接口,如果一個子類同時繼承了父類A,並實現了接口IA,那麼語法上A必須寫在IA的前面。
4、顯示實現接口的目的:解決方法的重名問題
***什麼時候顯式的去實現接口:
當繼承的接口中的方法和參數一摸一樣的時候,要是用顯式的實現接口
例子:再加上
void IFlyable.Fly()
{
 console.WriteLine("接口的方法");
}

**類裏面的成員  默認爲private
**接口裏面的成員默認爲public
**1)、能夠修飾類的訪問修飾符只有兩個:public、internal。
  2)、可訪問性不一致。
      子類的訪問權限不能高於父類的訪問權限,會暴漏父類的成員

發佈了30 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章