C 中介面與抽象類的區別

2021-04-15 21:14:40 字數 548 閱讀 6182

在c#中介面與抽象類有很多共同點,但是對於一些剛加入c#隊伍的人來說,可能還不夠清楚,最近在網上看了下面的乙個說法,感覺挺好的,就共享給大家看一下:

介面是負責功能的定義,專案中通過介面來規範類,操作類以及抽象類的概念!

而類是負責功能的具體實現!

在類中也有抽象類的定義,抽象類與介面的區別在於:

抽象類是乙個不完全的類,類裡面有抽象的方法,屬性,也可以有具體的方法和屬性,需要進一步的專業化。

但介面是乙個行為的規範,裡面的所有東西都是抽象的!

乙個類只可以繼承乙個基類也就是父類,但可以實現多個介面

ps:介面除了規範乙個行為之外,在具體專案中的實際作用也是十分重要的,在物件導向的設計原則以及設計模式的使用中,無不體現作為乙個介面的使用好處,最直接的就是設計原則中ocp(開放封閉原則),我們使用介面,而不需要關心他的具體實現,具體實現的細節變化也無關客戶端(使用介面的類)的使用,對與擴充套件是開放的,我們可以另寫乙個介面的實現來擴充套件當前程式,而不影響上層的使用,但對修改是封閉的,即我們不能夠再去修改介面的定義,當然這個 「不能夠」是指在規範原則上不應該這麼做! 

介面與抽象類區別

介面是公開的,裡面不能有私有的方法或變數,是用於讓別人使用的,而抽象類是可以有私有方法或私有變數的,另外,實現介面的一定要實現介面裡定義的所有方法,而實現抽象類可以有選擇地重寫需要用到的方法,一般的應用裡,最頂級的是介面,然後是抽象類實現介面,最後才到具體類實現。還有,介面可以實現多重繼承,而乙個類...

介面與抽象類區別

1 從形態上 抽象類可以給出一些成員的實現,介面卻不包含成員的實現。抽象類的抽象成員可被子類部分實現,介面的成員需要實現類完全實現,乙個類只能繼承乙個抽象類,但可實現多個介面 2 類是對物件的抽象,抽象類是對類的抽象,介面是對行為的抽象。也就是說介面是對類的區域性 行為 進行的抽象,而抽象類是對整體...

介面 與 抽象類 區別

抽像類和介面 區別 首先抽象類 1.抽象類不能被例項化,但可以被申明 2.抽象類不一定包含抽像方法 3.一旦類包含了abstract 方法那麼這個類必須宣告 關鍵字 abstract 4.抽像放不放不能有主體就是方法體 5,但是抽象類可以擁有實現的方法 6.乙個類只能繼承乙個抽像類 其次 是介面,就...