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

C#籠統類和接口的差別剖析

編輯:C#入門知識

C#籠統類和接口的差別剖析。本站提示廣大學習愛好者:(C#籠統類和接口的差別剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是C#籠統類和接口的差別剖析正文


許多C#的初學者在編程時都輕易把籠統類和接口弄混,本文就為年夜家從概念上講授籠統類和接口的差別:

1、籠統類:

含有abstract潤飾符的class即為籠統類,籠統類是特別的類,只是不克不及被實例化,可以創立一個變量,其類型是一個籠統類,並讓它指向詳細子類的一個實例;除此之外,具有類的其他特征;主要的是籠統類可以包含籠統辦法,這是通俗類所不克不及的。籠統辦法只能聲明於籠統類中,且不包括任何完成,派生類必需籠罩它們。別的,籠統類可以派生自一個籠統類,可以籠罩基類的籠統辦法也能夠不籠罩。

2、接口:

接口是援用類型的,相似於類,和籠統類的類似的地方有三點:
1、不克不及實例化;
2、包括未完成的辦法聲明;
3、派生類必需完成未完成的辦法,籠統類是籠統辦法,接口則是一切成員(不只是辦法包含其他成員);

接口有以下特征:

接口除可以包括辦法以外,還可以包括屬性、索引器、事宜,並且這些成員都被界說為私有的。除此以外,不克不及包括任何其他的成員,例如:常量、域、結構函數、析構函數、靜態成員。一個類可以直接繼續多個接口,但只能直接繼續一個類(包含籠統類)。 

二者的語法差別:

1.籠統類可以有結構辦法,接口中不克不及有結構辦法。

2.籠統類中可以有通俗成員變量,接口中沒有通俗成員變量

3.籠統類中可以包括非籠統的通俗辦法,接口中的一切辦法必需都是籠統的,不克不及有非籠統的通俗辦法。

4. 籠統類中的籠統辦法的拜訪類型可所以public,protected,但接口中的籠統辦法只能是public類型的,而且默許即為public abstract類型。

5. 籠統類中可以包括靜態辦法,接口中不克不及包括靜態辦法

6. 籠統類和接口中都可以包括靜態成員變量,籠統類中的靜態成員變量的拜訪類型可以隨意率性,但接口中界說的變量只能是public static final類型,而且默許即為public static final類型。

7. 一個類可以完成多個接口,但只能繼續一個籠統類。

8.接口可以用於支撐回調,而繼續其實不具有這個特色.    9.籠統類完成的詳細辦法默許為虛的,但完成接口的類中的接口辦法卻默許為非虛的,固然您也能夠聲明為虛的. 

籠統類和接口的應用:

1.假如估計要創立組件的多個版本,則創立籠統類。籠統類供給簡略的辦法來掌握組件版本。
2.假如創立的功效將在年夜規模的全異對象間應用,則應用接口。假如要設計小而簡潔的功效塊,則應用接口。
3.假如要設計年夜的功效單位,則應用籠統類.假如要在組件的一切完成間供給通用的已完成功效,則應用籠統類。
4.籠統類重要用於關系親密的對象;而接口合適為不相干的類供給通用功效。
5.好的接口界說應當是具有專注功效性的,而不是多功效的,不然形成接口淨化。假如一個類只是完成了這個接口的中一個功效,而不能不去完成接口中的其他辦法,就叫接口淨化。

願望本文所述對年夜家的C#法式設計有所贊助。

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