所以说我有一个 C# 类,
class Foo : Bar, IBar, IBar2
{
}
... 其中 Bar 是一个类,而 IWhatever 和 Ifine 是接口。我计划在多个类中使用 IWhatever 和 IFine 的类似实现——我能看到封装此代码并在所有类中重用它的唯一明智的方法是创建一个继承自 IWhatever 和 Fine 的类继承自 IFine 和使它们成为实现这些接口的类的成员,然后在从接口实现的成员中调用它们的成员,如下所示:
class Foo : Bar, IWhatever, IFine
{
IWhatever mWhatever;
IFine mFine;
Foo()
{
mWhatever = new Whatever();
mFine = new Fine();
}
// from IWhatever
void Kick()
{
mWhatever.Kick();
}
// from IFine
void Punch()
{
mFine.Punch();
}
}
我做对了吗?有没有更好的办法?