6
我看到這樣的東西有很多的接口:重新實現另一個接口已經繼承
interface A { ... }
interface B : A { ... }
class C : B, A { ...}
爲什麼你會指定是c實現接口A,B時已經繼承了阿? 它會產生任何語義差異還是隻是一種風格問題?
(這樣的例子很多是List<T>
實施IList<T>
和ICollection<T>
,同時也IList<T>
從ICollection<T>
派生)。
更新:感謝確認我的猜測,它沒有任何語義差別。
我想出了一個相關的情況下它不會有所作爲明確命名的接口已在繼承樹:
如果B
是類,C
那隻(重新)如果在':
'之後明確指定A
,則實現接口成員A
。
[編輯]我改變了這個問題的措辭,以避免與顯式實現的接口成員混淆,這些接口成員將成員的使用限制在將對象轉換爲接口的情況下。
我認爲這是更好的可讀性..不必工作你的腦細胞通過該接口繼承層次。 – Gishu 2008-11-01 19:16:33