了解Java继承和函数创建

问题描述 投票:-1回答:1

我有一个基类,如下所示

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)

我该如何实现呢。我不想在基类中添加抽象方法,因为它被许多类扩展

java inheritance methods
1个回答
1
投票

您的问题似乎是父类BaseClass将被许多孩子继承,但只有一小部分孩子需要实现letsGo。我认为最简单的解决方案是制作一个中间子类,比如MediumClass(扩展BaseClass),其中包含方法letsGo,然后使AbcXyz继承。最后,使run方法将中间类作为参数。

© www.soinside.com 2019 - 2024. All rights reserved.