假设我有一个名为Bot
的类,如下所示:
class Bot
{
}
现在有另一个类具有Bot
的所有功能,此类称为Tool
:
class Tool
{
//some method
}
现在Bot
是唯一必须继承Tool
方法的类。如何像where
运算符一样限制它?像这样:
class Tool where T = Bot ?
我不知道是否清楚,但我希望只有Bot
类可以继承Tool
的方法,可以这样做吗?对于基本的解释感到抱歉。
提前致谢。
答案 0 :(得分:6)
这是不可能的,甚至是无用的。
如果只想要一个类继承另一个类,为什么不将它们合并为一个类?您还可以创建仅可从父类创建的嵌套类。然后添加Tool
作为属性,而不是派生类。
答案 1 :(得分:1)
你不能这样做。听起来你想要Tool
密封,所以没有任何东西可以继承它,但给Bot
a" has-a"与它的关系(不是"是-a"关系)
换句话说,Bot应该有一个封装在其中的Tool实例,而不是从它继承。