【发布时间】:2021-06-23 06:42:32
【问题描述】:
请看附图。
我想要的是(技术)“用户”可以通过“HeadClass”的实例化使用来自 A、B 或 C 类的方法。我试图避免的是,我必须为 A、B 和 C 类中定义的每个方法添加一个单独的函数,以通过“HeadClass”调用它们。昨天我试图在另一个 stackoverflow-request 中描述这一点,但已将其删除,因为它似乎不清楚我想要实现的目标。所以这是另一种方法。
通常这将通过继承来实现(如果只继承一个类)。但是,正如他们在那篇已删除的帖子中告诉我的那样,我应该改用接口。现在,到目前为止,我认为我知道接口是如何工作的(几乎用于每个类),但我不知道我是如何实现这个描述问题的。
我该如何填写“???”在“头班”? 我很高兴有任何意见。提前谢谢!
class User
{
public User(IHeadClass headObj)
{
_headObj = headObj
}
public DoStuff()
{
_headObj.Method_1
_headObj.Method_2
_headObj.HeadMethod
}
}
public class HeadClass : IHeadClass, ???
{
???
public HeadClass( ??? )
{
???
}
void HeadMethod()
{
... do head stuff
}
}
public class Class_A : IClass_A
{
public void Method_1 () { }
}
public class Class_B : IClass_B
{
public void Method_2 () { }
public void Method_3 () { }
}
public class Class_C : IClass_C
{
public void Method_4 () { }
}
我查看了this,描述了如何使用接口。但这并不能解决上述问题。
【问题讨论】:
-
天哪。没有反馈的“-1”!你怎么敢!我可以要求您提供反馈,说明您为什么给我那个“-1”,或者再次删除它并且不要再看这篇文章。我尽量不问愚蠢的问题,有时问正确的问题并不容易,有时问题也不是简单的而是复杂的。那么,为什么是“-1”?
标签: c# interface multiple-inheritance abstraction