C#中介面與抽象類別的區別

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

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

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

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

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

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

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.