設計模式之美 介面和抽象類的區別

2022-02-09 00:44:04 字數 313 閱讀 6312

抽象類:

抽象類不能被例項化,只能被繼承(不能new)

抽象類可以包含屬性和方法,方法可以包含實現,也可以不包含實現(abstract方法)

子類繼承抽象類必須實現所有的抽象方法  

抽象類也是類,跟子類的關係是is-a

繼承本身並不要求父類是抽象類,但是抽象類編譯的時候會要求子類強制實現抽象方法。

介面介面不能包含屬性 

介面只能宣告方法,不能包含實現

類實現介面的時候,必須實現所有的方法

介面表示具有什麼功能,是has-a的關係

什麼時候用介面?什麼時候用抽象類?

設計模式之美筆記 抽象類,介面

設計模式之美 8 設計模式之美 9 目錄 面試中常見的問題 抽象類的特點 介面的特點 抽象類存在的意義 介面存在的意義 抽象類和介面的應用場景的區別?如何用抽象類和普通類來模擬介面?基於介面而非實現程式設計的原因?有必要每個類都定義介面嗎?介面和抽象類的區別是什麼?什麼時候用介面?什麼時候用抽象類?...

抽象方法 抽象類 介面 介面和抽象類的區別

某個父類只知道子類因該包含什麼樣的方法,無法知道這些子類如何實現這些方法。抽象類包含該方法但沒有對該方法的具體實現。有抽象方法的類只能被定義為抽象類,抽象類裡可以沒有抽象方法。抽象方法和抽象類的規則 public abstract class shape private string color p...

介面和抽象類區別

介面和抽象類有什麼區別 你選擇使用介面和抽象類的依據是什麼?介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是,這個物件是什麼。介面表示的是,這個物件能做什麼。比如,男人,女人,這兩個類 如果是類的話 他們的抽象類是人。說明,他們都是人。人可以吃東西,狗也可以吃東西,...