我有這樣的狗類:如何使用類成員實現接口?
public class Dog : IBarkable
{
public void Bark()
{
Console.WriteLine("Woof!");
}
}
和我有這個人等級:
public class Human : IBarkable
{
private Dog _myDog = new Dog();
public void Bark()
{
_myDog.Bark();
}
}
有沒有,我不會要明確實現每個功能的任何方式? 類似的東西:
public class Human : IBarkable (_myDog)
{
private Dog _myDog = new Dog();
}
謝謝!
沒有自動接口實現委託,這就是爲什麼'繼承構成'有時很痛苦的原因之一(如果不是主要原因)。你必須手動完成。 –
這是一個強有力的表示'Human'不應該實現'IBarkable',它應該有一個方法/屬性返回一個'IBarkable'對象(在這個例子中是狗)。 – Servy
@Servy:在人類身上使用與人類相互作用的方法不是更好嗎?只要將它交給任何需要它的人,你都不想鬆懈。 (demeter法) – jgauffin