2011-04-13 53 views
1

例如在像PHP這樣的動態語言中,由於我們有鴨子打字,界面只是一個約束,它在實踐中沒有用處?動態語言界面和鴨子打字

+2

它確實有用,如果你按照設計合同(我這樣做)。 – ircmaxell 2011-04-13 14:13:41

+0

[動態語言中的接口是否有任何要點?](http://stackoverflow.com/questions/91618/is-there-any-point-for-interfaces-in-dynamic-languages) – Gordon 2011-04-13 14:18:50

回答

5

有兩種情況下,我能想到的它給它一些重要的實際意義:

  1. 如果需要的話,一個接口可以讓你表現得像一個虛假的靜態類型語言:你可以檢查對象的運行時類型看它是否實現了這個接口,並且您還可以通過type hinting自動獲取PHP來爲您實現。
  2. 它記錄了類型層次結構之間的關係(在一個大型庫中)。對於試圖理解所述層次結構的人來說,這是一個巨大的實際收益。