2012-04-01 75 views
2

我的C#風扇,但我想這是一個普遍的問題OOP:重新指定已經繼承的接口是否有意義?

在下面顯示的代碼,有沒有重新指定class B實現interface I任何一點?

interface I { } 
class A : I { } 
class B : A, I { } 

至於我可以告訴答案是否定的,除非是可讀性,如果一個類實現了許多接口和你想聲明的類時強調某一個。

回答

3

不,沒有。事實上,當你繼續重新聲明接口時,特別是當繼承鏈變大時,它會變得有點混亂。如果你想強調一個類實現了一個重要的接口,可能有一種方法是在類的註釋中的彙總字段中添加信息,以顯示該工具提示。

+1

我認爲這也令人困惑:對我來說,這意味着A類不會實現接口。 – 2012-04-01 20:49:14

0

沒有沒有比也許是仿製藥的限制,即其他點(可能是錯誤的語法,但你明白了吧 - 我認爲(從內存)的限制有關於繼承和運用約束某些特性)

public T MethodName(T gen) where T : I 
{ 

} 
0

不,事實上像ReSharper這樣的工具會告訴你,I的第二個實現是多餘的。