什麼時候使用介面,什麼時候使用抽象類

2021-09-28 22:23:39 字數 515 閱讀 2274

使用抽象類是為了**的復用,而使用介面的動機是為了實現多型性。

抽象類適合用來定義某個領域的固有屬性,也就是本質,介面適合用來定義某個領域的擴充套件功能。

一、什麼時候使用抽象類?

當2個或多個類中有重複部分的時候,我們可以抽象出來乙個基類,如果希望這個基類不能被例項化,就可以把這個基類設計成抽象類。

當需要為一些類提供公共的實現**時,應優先考慮抽象類 。因為抽象類中的非抽象方法可以被子類繼承下來,使實現功能的**更簡單。

抽象類只能是單繼承的,不能多繼承。

二、什麼時候使用介面?

當注重**的擴充套件性跟可維護性時,應當優先採用介面。

①介面與實現它的類之間可以不存在任何層次關係,介面可以實現毫不相關類的相同行為,比抽象類的使用更加方便靈活;

②介面只關心物件之間的互動的方法,而不關心物件所對應的具體類。介面是程式之間的乙個協議,比抽象類的使用更安全、清晰。一般使用介面的情況更多。

什麼時候使用抽象類, 什麼時候使用介面

介面是一種協定,抽象類則相當於類模板。使用抽象類,而不要使用介面來分離協定與實現。如果需要提供多型層次結構的值型別,使用介面。如果乙個型別必須實現多個協定,或者協定適用於多種型別,使用介面。雖然抽象類和介面都支援將協定與實現分離開來,但介面不能指定以後版本中的新成員,而抽象類可以根據需要新增成員以支...

什麼時候使用引用 什麼時候使用指標

使用引用引數的主要原因有兩個 程式設計師能修改呼叫函式中的資料物件 通過傳遞引用而不是整個資料 物件,可以提高程式的執行速度一般的原則 對於使用引用的值而不做修改的函式 如果資料物件很小,如內建資料型別或者小型結構,則按照值傳遞 如果資料物件是陣列,則使用指標 唯一的選擇 並且指標宣告為指向cons...

什麼時候使用引用

當必須指向乙個物件並且不想改變其指向時,或者在過載操作符並為防止不必要的語義誤解時,你應該使用引用 而在除此之外的其他情況下,則應使用指標。下面這個例子是引用指向乙個物件並且不會改變其指向,這個 new出來的物件 只能被引用改變。關於在過載操作符並為防止不必要的語義誤解時使用引用,參考 more e...