Processing 为同一类的不同对象的update()分配不同的代码

Processing 为同一类的不同对象的update()分配不同的代码,processing,Processing,是否可以将不同的代码加载到同一类的不同对象的更新函数中?即: 按钮按钮=新按钮(); 类按钮{ //构造函数、变量等 无效更新(){ //加载特定于对象的代码 } } 我可以创建一个指向外部函数的指针(即在不同的文件中)吗?我知道我不能在java中指出,但有什么类似的吗?类用于定义某些行为。当然,并非一个类的所有实例的行为都必须完全相同(例如,button1显示为红色,button2显示为蓝色),但它仍然是相同的基本行为。按钮不会像树一样工作,让button1.func()做一件事而butto

是否可以将不同的代码加载到同一类的不同对象的更新函数中?即:

按钮按钮=新按钮();
类按钮{
//构造函数、变量等
无效更新(){
//加载特定于对象的代码
}
}

我可以创建一个指向外部函数的指针(即在不同的文件中)吗?我知道我不能在java中指出,但有什么类似的吗?

类用于定义某些行为。当然,并非一个类的所有实例的行为都必须完全相同(例如,button1显示为红色,button2显示为蓝色),但它仍然是相同的基本行为。按钮不会像树一样工作,让
button1.func()
做一件事而
button2.func()
做完全不同的事是没有意义的。话虽如此,如果你想让两个按钮的某个方法做不同的事情,你有两个选择:要么把行为分成两个方法,要么(这可能是你想要的)让按钮包含一个标识符变量,让方法包含一个基于该变量的条件。下面是一个例子:

class按钮{
//ID为1表示绿色,2表示蓝色
int-ID;
按钮(int id){
ID=ID;
}
无效更新(){
如果(ID==1){//绿色
//做点什么
else if(ID==2){
//做点别的
}
}
}

回答你的问题:动态代码加载(如从文本文件中加载)是一个坏主意,原因很多。首先,如果你仔细阅读代码,不清楚代码会做什么(你必须查看另一个文件才能发现)第二,这将是一个巨大的安全漏洞,因为有人可能用恶意的东西替换您的文本文件,而您将无法控制代码的执行。

示例接口代码

按钮r=new RedButt();//注意Buton=new RedButt。。。
按钮b=新的蓝色按钮();
按钮[]按钮=新按钮[2];
无效设置(){
规模(200200);
按钮[0]=r;
按钮[1]=b;
用于(按钮b:按钮){
b、 显示();
}
}
界面按钮{
void display();
}
类RedButt实现按钮{
雷德巴特(){
}
无效显示(){
填充(255,0,0);
椭圆(随机(25,宽-25),随机(25,高-25),50,50);
}
}
类BlueButt实现按钮{
蓝布特(){
}
无效显示(){
填充(0,0,255);
椭圆(随机(25,宽-25),随机(25,高-25),50,50);
}
}

这并不是你所要求的,但a可能是一种方法。处理论坛上的线程可能也很有用。同样,这看起来很复杂,我想我会采用条件方法。如果你能有一个指向特定函数的函数变量,然后在类外编写函数,那就太好了。不是真正的c看起来很复杂,看看下面的代码,这就是我的意思。这是可行的,但它需要两个类,每个按钮一个,这是我试图避免的特定问题。正如我所说,这不完全是你想要的…:)你有两个类,但你可以作为一个类访问它们。不过仍然需要维护和编写两个类。你能在接口?这样每个类中唯一的东西就是构造函数和任何独立的函数/变量。显然,在Java8中,你可以…制作一个对象数组,其中每个对象都有自己的类,比如buttons[],其中buttons[0]是RedButt,buttons[1]是GreenButt等等。