我有一个基类,如下所示
class BaseClass{
//this is a base class
// I dont want to add any generic methods here as it is
//extended by tens of classes
}
现在有两个特定的类扩展了这个基类
class Abc extends BaseClass{
//method
void letsGo(){
//this method is not there in base class
}
}
class Xyz extends BaseClass{
//method
void letsGo(){
//this method is not there in base class
}
}
现在我需要一个函数,它必须接受Class Xyz的对象或Class Abc的对象,语法类似于下面
void run (BaseClass base){
base.letsGo() // I know it wont work
}
并称之为run(object of Abc)
或run(object of Xyz)
。
我该如何实现呢。我不想在基类中添加抽象方法,因为它被许多类扩展
您的问题似乎是父类BaseClass
将被许多孩子继承,但只有一小部分孩子需要实现letsGo
。我认为最简单的解决方案是制作一个中间子类,比如MediumClass
(扩展BaseClass
),其中包含方法letsGo
,然后使Abc
和Xyz
继承。最后,使run
方法将中间类作为参数。