我正在处理OOP。 我正在使用eclipse,我正在为我的对象制作非常大的类。 我不知道如何在其他java文件中编写我的类的代码。 你能帮我一个例子吗,或者告诉我如何将我的代码分成两份文件。一个用于设置和绘制函数的文件,另一个用于我的PhysicalObject类。
public class MyProcessingSketch extends PApplet {
int i;
PhysicalObject Person;
public void setup()
{
Person= new PhysicalObject();
size(400,400);
smooth();
background(0);
}
public void draw()
{
//background(24,20,100);
fill(255,0,0);
Person.drawObject();
}
public class PhysicalObject {
float objectWidth;
float objectHeight;
float posX;
float posY;
PhysicalObject()
{
posX=width/2;
posY=height/2;
objectWidth=50;
objectHeight=50;
}
PhysicalObject(float x, float y,float widthn,float heightn)
{
objectWidth=widthn;
objectHeight=heightn;
setCenter(x, y);
}
public void setCenter(float x, float y)
{
posX=x;
posY=y;
}
public void drawObject()
{
rectMode(CENTER);
fill(255,0,0);
rect(posX,posY,objectWidth,objectHeight);
}
public boolean isCollided()
{
return true;
}
public void drive()
{
}
}
}
答案 0 :(得分:1)
最简单的方法是将每个类放在一个单独的文件中(在eclipse中, file / new / other / class )。您必须提供一个包(可以将其视为包含该类的文件夹)。最好的选择是进行语义包装(例如,您可以将PhysicalObject
放在hitbox
包中)
然后,您必须将这些不同的类添加到类路径中,即包含项目所有类路径的变量。如果你在eclipse中创建了一个java项目,这将自动完成。
设置好类路径后,您就可以使用PhysicalObject
命令将MyProcessingSketch
导入import hitbox.PhysicalObject
。
答案 1 :(得分:0)
部分问题是在Processing IDE中,所有不同的选项卡都成为一个java文件,因此所有额外的类都是单个主PApplet子类的嵌套类。
正如@fxm建议的那样,你应该能够将类移动到单独的文件中,但是你需要知道一些问题,主要是子类中的PApplet代码。如果它只是绘制函数,您可以传递PGraphics reference,否则,您可以将整个PApplet作为对要访问的类的引用传递。
我在this answer中发布了一些提示,其中还包括将类移动到单独文件中的video重构过程。