我Screen在 libgdx 框架中有接口。
我创建了一个名为 的子类BaseLayout,在其中初始化了一些字段。
现在对于每个实际屏幕,例如 MenuScreen,我扩展了这个BaseLayout类。
我想强制这些类,例如 MenuScreen 实现两个方法
void initData(),和void addButtonsToScreen()。这个怎么做?
show我在只在基类中实现的方法中调用这些方法BaseLayout。
我想强制这些类例如 MenuScreen 实现两个方法 void initData() 和 void addButtonsToScreen()。这个怎么做?
make BaseLayoutanabtract class和 makeinitData()和addButtonsToScreen()抽象方法。
例子
public abstract class BaseLayout extends Screen
{
public void initData();
public void addButtonsToScreen();
}
然后你只需让子类扩展并实现这些方法..
public class ConcreteLayout extends BaseLayout
{
public void initData()
{
// Some code here.
}
public void addButtonsToScreen()
{
// Some code here.
}
}
请将这些方法声明为抽象的
前任 :
Anabstract method是一种在没有实现的情况下声明的方法(没有大括号,后跟分号),如下所示:
abstract void moveTo(double deltaX, double deltaY);
有两种方法可以做到这一点:
1-将您Baselayout的类声明为一个abstract类,并声明methods您也希望强制子类classes实现abstract。
2-其他方法可能是在您BaseLayout Class的定义两个方法的接口中定义一个接口,然后Interface在您的Child类中实现它。