2010-05-16 109 views
3

所以我的問題是,爲什麼要使用接口或抽象類?他們爲什麼有用,爲什麼?爲什麼接口或抽象類有用? (或爲什麼?)

我在哪裏可以使用它們聰明?

+0

http://stackoverflow.com/questions/761194/interface-vs-abstract-class-general-oo和可能的副本http://stackoverflow.com/questions/1474249/abstract-classes-vs-interfaces – mdma 2010-05-16 21:47:26

+0

嘗試在Google中輸入問題並查看第一個百萬左右的結果。 – fearofawhackplanet 2010-05-16 21:53:29

+0

一個字 - 多態! – nawfal 2014-07-07 09:51:49

回答

4

接口允許你表達一個類型做什麼,而不必擔心它是如何做。實施可以隨意更改而不影響客戶。

抽象類接口等,除了它們允許你爲它存在的合理方法默認行爲。

使用和實例依賴於語言。如果您瞭解Java,則可以在整個API中找到接口和抽象類的示例。 java.util集合有很多。

+0

由於JDK 8可以向接口添加默認行爲。抽象類仍然不同,因爲它們可以有狀態。接口只能聲明靜態變量。 – duffymo 2017-11-22 12:53:16

3

當你想指定一組常見的方法和屬性的實現/所有類繼承他們有,暴露行爲,都應該提供他們是有用的。

特別是關於接口,一個類可以實現多個接口,所以這個就派上用場了,當你想這樣的事實,它的情況下,必須具有多種類型的行爲進行建模。

另外,正如Wikipedia所說的,接口是一種類型定義:在函數或方法調用中可以將對象作爲參數傳遞的任何地方,要交換的對象的類型可以用接口定義這允許稍後使用交換不同對象類型的相同函數:因此,這樣的代碼變得更通用並且可重用。

相關問題