如何允许编辑引擎中的方法,而不编辑其Java类(或等效类)

如何允许编辑引擎中的方法,而不编辑其Java类(或等效类),java,android,Java,Android,我目前正在开发一个名为PlaneUI的UI引擎 给你一个基本的想法,它是一个触摸式用户界面系统,整个屏幕由“平面”组成,可以显示内容,也可以用作按钮。(以下附加信息) 当用户不与屏幕交互时,他/她会看到内容的连续表面(实际上是由平面组成),但当用户触摸平面时,他/她可以区分各个平面,并看到它像按钮一样被按下。该系统的目的是消除对笨重的屏幕按钮的需要,并允许一个非常优雅的设计,同时保持丰富的触摸反馈。屏幕过渡也使用这些平面显示 为了使实现该系统的开发变得可行,并使其对其他开发人员开放,我创建了一个

我目前正在开发一个名为PlaneUI的UI引擎

给你一个基本的想法,它是一个触摸式用户界面系统,整个屏幕由“平面”组成,可以显示内容,也可以用作按钮。(以下附加信息)

当用户不与屏幕交互时,他/她会看到内容的连续表面(实际上是由平面组成),但当用户触摸平面时,他/她可以区分各个平面,并看到它像按钮一样被按下。该系统的目的是消除对笨重的屏幕按钮的需要,并允许一个非常优雅的设计,同时保持丰富的触摸反馈。屏幕过渡也使用这些平面显示

为了使实现该系统的开发变得可行,并使其对其他开发人员开放,我创建了一个名为PlaneView的类,该类扩展了SurfaceView,该类在内部处理所有平面管理。使用此引擎的开发人员需要添加的唯一内容是在每个平面上绘制的内容,以及当按下、释放这些平面时会发生什么

目前,PlaneView中的方法,如draw、press、release等,在平面绘制内容、按下、释放等时被调用。但是,在这种情况下,开发人员需要进入PlaneView类,并在这些方法的声明中添加代码,例如要绘制的内容,以及按下、释放等时要采取的措施

有没有什么Java编程机制(?)可以让开发人员在自己的类中定义这些东西


我对过度使用抽象语言表示歉意。我会听取关于术语的任何建议,或者我对Java语言可能存在的误解(我一直在Game Maker Studio上使用GML编程,最近才开始使用Java)

你可以让PlaneView成为一个抽象类,在Draw上有抽象方法,onPress等。使用PlaneView的开发人员必须扩展PlaneView并实现相关方法。确保在PlaneView中小心哪些是私有的,哪些是受保护的,哪些是公共的

public abstract class PlaneView {

    protected abstract void onDraw();

    // Similarly for the other methods ...

这听起来像是你创建了一个框架。。。这不适用于框架。要点是:当其他人正在使用您的
PlaneView
类时,他们应该不需要更改您的类
PlainView
中的任何内容
PlainView
应该知道添加到其中的任何项目;它的所有方法都应该处理这些问题。否则,您的整个框架将毫无用处。更准确地说:任何可以添加到这样一个平面的组件都必须包含“绘制”、“按”等的所有信息@EddyG实际上,这就是我问这个问题的原因。问题是,需要添加到此系统中的“项”包括需要绘制到实现此系统的应用程序中的所有内容。我不打算制作一个框架(?)来处理绘图图像、形状、文本等(基本上是安卓画布的另一个版本)。我希望有一种方法可以让PlaneView类访问开发人员在单独的类中编写的绘图代码。如果你认为这种系统是“无用的”,我会考虑寻找其他方法。但是,我会建议不同的命名:我们不是在谈论添加到飞机上的项目吗?我知道它是为了避免像“谢谢”这样的评论,但这只是一个完美的建议!EddyG也许我应该更详细地解释一下。PlaneView不绘制以前添加到平面的项目。它简单地处理用户输入和平面转换,为使用PlaneView的开发人员提供他们需要知道的信息。这些包括:按下或释放哪个平面时,屏幕上当前显示的平面以及位置,绘制平面以获得正确的空间效果的顺序等。PlaneView所做的唯一绘图是显示平面已按下、处于过渡等的视觉效果。