首頁  >  文章  >  Java  >  抽象類別與介面的定義與區別

抽象類別與介面的定義與區別

零下一度
零下一度原創
2017-07-18 17:52:491341瀏覽

1.什麼是抽象類別?

如果多個類別具有相同性質的行為,例如,人行走,動物行走,行走就是人與動物兩個不同的類別中性質相同的行為,為了便於管理, 可以將這些行為抽像出來集中到一個類別中,這樣就產生了一個集中了多個類別共同行為的類,而這個類別就是抽象類別。

2.什麼是介面?

兩個類別不僅有相同性質的行為,還有不同性質的行為,例如,人睡覺,鳥兒睡覺,鳥兒飛翔,睡覺是人與鳥共同的行為,可以定義到抽象類別中,而飛翔不是人與鳥共同的行為,不可以定義到抽象類別中,可以把這個非共享行為定義到一個特殊的類別中,這個特殊的類別就是介面。

3.區別

以n個類別為研究對象,n個類別共同的行為定義在抽象類別中,部分類別共享而共享類別數目未達到n的行為定義在介面中。

抽象類別反映的是整體的共通性,介面反映的是局部的共通性。

抽象類別與介面的選擇取決於關注的範圍。如果關注的範圍很小,這個小範圍內的物件所抽象的類別的行為都相同,可以使用抽象類別來管理共同的行為。如果關注的範圍比較大,在這個大範圍內,某些行為只為部分物件所共享,那麼這些行為就只能定義在介面中。

以上是抽象類別與介面的定義與區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn