我有接口IPet
,在另一個項目中,我有類Dog
,它繼承自IPet
。
在Dog
我有方法Bark()
但不在IPet
。
在項目IPet
我也有PetSimulation
類,其中我有一個IPet
的實例。
現在我想讓這樣的事情:調用接口上的子類的方法,而不實現那裏的方法
IPet myDog = new IPet("Rex");
myDog.Bark();
但IPet
沒有方法Bark()
,並應保持下去,因爲其他類,如Cat
和Horse
也從IPet
繼承,但沒有方法Bark
要麼。
此外,我不能做這樣的事情:
Dog myDog = new Dog("Rex");
因爲Dog
是另一個項目。
有沒有什麼辦法讓我通過接口IPet
調用子類Dog
的方法Bark
而不實現那裏的方法?
你可以在接口上添加一個新的'Speak()'方法嗎? –
@DanPichelman不,界面必須保持不變,就像現在一樣。 –