介面和抽象類使用場合

2021-05-13 02:10:51 字數 562 閱讀 6941

* inte***ce 中的方法不能有實現,作用是分類功能,乙個類可以實現多個介面.

public inte***ce ifoo

public inte***ce ibar

public impl implements ifoo,ibar

public int domath(int a, int b, int c)

.....

}* 抽象類的作用的定義公共功能。抽象類和其子類是有上下級關係的。同時乙個子類只能繼承乙個父類.

public abstract class bar

public abstract int dosomething();

}public class foo extends absfoo

}其他類使用foo的例項時也能使用其父類方法foo.docommon(), 這樣當docommon方法改動的時候,只需要改父類,所有子類的這個功能也都同時更新。

* inte***ce中定義的屬性一定是public static final的不管你加不加這些; 而抽象類中的屬性和類的一樣可以通過上述關鍵字來定義,並不是預設強加的。

介面和抽象類的應用場景

舉?來說,要描述乙個人 抽象類表示它是什麼 這個人身高 體重 家庭住址 側重用來定義某個領域的固有屬性,也就是本質。介面表示它能做什麼 這個人會打球 游泳 側重用來定義某個領域的擴充套件功能,也就是物件的行為。介面和抽象類的使用場景 當需要為一些類提供公共的實現 時,應優先考慮抽象類。因為抽象類中的...

PHP介面類和抽象類的區別和使用場景

對介面的使用是通過關鍵字implements。對抽象類的使用是通過關鍵字extends。當然介面也可以通過關鍵字extends繼承。介面中不可以宣告成員變數 包括類靜態變數 但是可以宣告類常量。抽象類中可以宣告各種型別成員變數,實現資料的封裝。介面沒有建構函式,抽象類可以有建構函式。介面中的方法預設...

抽象類和介面的區別以及使用場景

兩者都是抽象類,都不能例項化。inte ce實現類及abstrct class的子類都必須要實現已經宣告的抽象方法。inte ce需要實現,要用implements,而abstract class需要繼承,要用extends。乙個類可以實現多個inte ce,但乙個類只能繼承乙個abstract c...