Я портирование некоторых образцов OpenGL Nvidia C в JOGL и я следующее (init
является одним из абстрактных методов, необходимых GLEventListener
:Java, скрывая методы супер супер класса
public abstract class NvAppBase implements GLEventListener {
@Override
public void init(GLAutoDrawable drawable) {
initRendering(gl4);
}
public void initRendering(GL4 gl4) {
}
}
public abstract class NvSampleApp extends NvAppBase {
@Override
public void init(GLAutoDrawable drawable) {
baseInitRendering(gl4);
}
protected void baseInitRendering(GL4 gl4) {
initRendering(gl4);
}
@Override
public void initRendering(GL4 gl4) {
}
}
public class BindlessApp extends NvSampleApp{
@Override
public void initRendering(GL4 gl4) {
}
}
Учитывая, что:
NvAppBase
не используется вообще, все образцы (например,BindlessApp
) всегда простиратьсяNvSampleApp
- Я хотел бы класс, расширяющий
NvSampleApp
, чтобы быть в состоянии видеть (и перезаписать) толькоinitRendering
и не такжеinit
Есть ли лучший способ, чем просто NvSampleApp
просто как переменную внутри BindlessApp
, как это, например?
public class BindlessApp {
private NvSampleApp sampleApp;
}
Вы ищете 'final'? – tkausl