因此,我對C#和使用接口仍然很陌生,當我認爲我理解他們時,我意識到我並不完全。混亂我發現,我在這裏尋求一些澄清,當你從它我想我錯過了「編程接口」概念
public Interface ISomeInterface
{
//some methods/properties
}
public class FooClass : ISomeInterface
{
//implemented ISomeInterfaces methods/properties
}
創建一個接口,並有一個類繼承和你在執行程序中的某個地方使用這個類對象
public class BarClass
{
private ISomeInterface _someInterface;
public BarClass(ISomeInterface someInterface)
{
_someInterface = someInterface;
}
//rest of class
}
我的困惑是爲什麼我看到它以這種方式設置。我以爲我會實例化類型FooClass的新對象,以及使用的類型FooClass的對象在構造這樣:
public class BarClass
{
private FooClass _fooClass;
public BarClass(FooClass fooClass)
{
_fooClass = fooClass;
}
//rest of class
}
缺少什麼我理解這一點?我不認爲我會直接聲明接口的對象?
在此先感謝。
我相信,創建新的類如TestFoo僅僅用於購物並不是一個好主意。爲什麼不嘲笑? – 2010-11-20 15:11:45
@Draco Ater,嘲笑通常是可取的,但我不想分心這個概念的主要觀點。無論是動態生成還是手動生成,其基本概念是可以用一個物體代替另一個物體,就像機械標準允許在建築機器中替換不同的兼容部件一樣。在軟件中,這非常有用,尤其對於啓用測試。 – 2010-11-20 15:13:26