程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 說說抽象類接口

說說抽象類接口

編輯:C#入門知識

一、抽象類/抽象方法

1、抽象方法用abstract修飾。

2、抽象方法不能有方法體(大括弧也不能有)。

Eg:

   
  
    
 }

3、抽象方法必須在抽象類中。

4、抽象類不能實例化,因為抽象成員,抽象成員是沒有方法體的。

5、子類必須重寫父類的抽象方法。

6、在子類中無法通過base關鍵字調用父類的抽象方法。

7、抽象方法是“光說不做”,只是定義了有這樣的行為,但是具體的實現,交給子類。

8、抽象類中可以擁有非抽象成員,為了繼承給它的子類。

9、抽象類中可以擁有虛方法。

10、抽象類使用場合:1)子類必須覆寫父類的方法。2)父類沒有必要實例化。

11、抽象類是被繼承的,繼承為了多態。

12、抽象成員,不能是私有的,因為子類沒辦法方法就沒辦法重寫。

Eg1:

View Code

Eg2:

View Code


二、說說ToString/Equals方法

Eg:

View Code

 三、接口

1、用interface定義接口,它是一個特殊的抽象類,不能實例化。

2、裡面的成員不需要再加abstract,也不需要加訪問修飾符,默認就是public abstract.

3、接口只能定義屬性、方法、索引器、事件。

4、實現接口的類,必須要實現接口中的所有成員。

5、實現類在實現接口的成員的時候,不需要寫override關鍵字。

6、接口就是為了純粹的為了規范實現類的。

7、可以找到父類並且希望通過父類繼承給子類一些成員,用抽象類。多個類具有相同的方法,但是找不出父類,就可以將方法定義在接口中,讓這些類去實現。

8、一個類只能繼承一個父類,但是可以實現多個接口,父類要寫在第一個位置,一定程度上解決了類的單根性的問題。

9、接口可以繼承接口。

10、接口中的成員,可以實現為抽象方法或者虛方法,讓實現類的子類去實現。

11、顯示實現接口,是為了解決方法名沖突的問題,顯示實現的接口的方法是私有的,所以不能通過對象的變量來調用。

12、顯示實現接口,這個接口的實現方法,只能通過接口變量來調用。

Eg:

View Code

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved