2011-09-14 67 views

回答

5

是的,它確實實現了該接口,並且由於這是真實的,所以它可以作爲依賴注入。

下面是一個簡單的測試,證明該接口實現:

using System; 

interface IParent {} 
abstract class Parent : IParent {} 

class Example : Parent 
{ 
    static void Main() 
    { 
     Console.WriteLine(new Example() is IParent); 
    } 
} 
0

我認爲接口是一種契約。由於抽象類從接口繼承,因此要求實現接口的功能。並且該對象(實際上是它的類)被要求覆蓋抽象類的抽象函數。 在我看來,這種模式只適用於穩定的接口或抽象類。一旦界面或抽象類的合同發生變化,那將是一場災難。哎呀〜,你把這個版本搞砸了!

我更喜歡使用基類的虛擬類並使函數變成虛擬的,因此您可以像接口/ abstractclass解決方案一樣在子類中覆蓋它們,並且還可以輕鬆添加新的重載。