溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#淺談NET抽象類和接口的區(qū)別

發(fā)布時(shí)間:2020-07-19 01:35:38 來源:網(wǎng)絡(luò) 閱讀:714 作者:程沐喆 欄目:編程語言

一、抽象類:

在類聲明中使用abstract修飾符的類稱為抽象類。含有一個(gè)或一個(gè)以上的抽象成員的類,必須定義為抽象類。當(dāng)方法聲明包含abstract修飾符時(shí),稱該方法為抽象方法,雖然抽象方法同時(shí)隱含為虛擬方法,但是它不能有virtual修飾符。聲明中包含abstract修飾的屬性稱為抽象屬性。抽象方法或?qū)傩詻]有方法體或?qū)傩栽L問器。抽象類只能是其他類的基類,抽象類不能實(shí)例化,必須在繼承中實(shí)現(xiàn)。抽象類中可以包含非抽象成員。抽象類的目的是提供一個(gè)合適的基類,以派生其他的類在類聲明中使用abstract修飾符的類稱為抽象類。含有一個(gè)或一個(gè)以上的抽象成員的類,必須定義為抽象類。當(dāng)方法聲明包含abstract修飾符時(shí),稱該方法為抽象方法,雖然抽象方法同時(shí)隱含為虛擬方法,但是它不能有virtual修飾符。聲明中包含abstract修飾的屬性稱為抽象屬性。抽象方法或?qū)傩詻]有方法體或?qū)傩栽L問器。抽象類只能是其他類的基類,抽象類不能實(shí)例化,必須在繼承中實(shí)現(xiàn)。抽象類中可以包含非抽象成員。抽象類的目的是提供一個(gè)合適的基類,以派生其他的類
二、接口:

接口是引用類型的,類似于類,和抽象類的相似之處有三點(diǎn):

1、不能實(shí)例化;

2、包含未實(shí)現(xiàn)的方法聲明;

3、派生類必須實(shí)現(xiàn)未實(shí)現(xiàn)的方法,抽象類是抽象方法,接口則是所有成員(不僅是方法包括其他成員);

另外,接口有如下特性:
接口除了可以包含方法之外,還可以包含屬性、索引器、事件,而且這些成員都被定義為公有的。除此之外,不能包含任何其他的成員,例如:常量、域、構(gòu)造函數(shù)、析構(gòu)函數(shù)、靜態(tài)成員。一個(gè)類可以直接繼承多個(gè)接口,但只能直接繼承一個(gè)類(包括抽象類)。

這是我自己總結(jié)的他的區(qū)別:

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI