如果是特定类型,如何继承类?

时间:2016-05-12 14:14:45

标签: c#

假设我有一个名为Bot的类,如下所示:

class Bot
{

}

现在有另一个类具有Bot的所有功能,此类称为Tool

class Tool
{
    //some method
}

现在Bot是唯一必须继承Tool方法的类。如何像where运算符一样限制它?像这样:

class Tool where T = Bot ?

我不知道是否清楚,但我希望只有Bot类可以继承Tool的方法,可以这样做吗?对于基本的解释感到抱歉。

提前致谢。

2 个答案:

答案 0 :(得分:6)

这是不可能的,甚至是无用的。

如果只想要一个类继承另一个类,为什么不将它们合并为一个类?您还可以创建仅可从父类创建的嵌套类。然后添加Tool作为属性,而不是派生类。

答案 1 :(得分:1)

你不能这样做。听起来你想要Tool密封,所以没有任何东西可以继承它,但给Bot a" has-a"与它的关系(不是"是-a"关系)

换句话说,Bot应该有一个封装在其中的Tool实例,而不是从它继承。