我用lejos 0.9创建了一个项目。现在我知道的是,当类具有public static void main(String[] args)
时,我只能使用eclips插件上载和编译类(从Java到nxj文件)。但是我必须在乐高头脑风暴积木上获得更多的类和接口。有没有办法做到这一点 ?直接连接到模块不是一个好主意,因为Java文件将被放置在无法运行的模块上。
解决此问题的另一种方法是更改uml设计。这是目前的设计
因此,基本上有一个机器人类别,其他机器人(如类人机器人)扩展了该机器人类别。然后有行为。哪个都实现了Iwalk接口。由于多态性,每个机器人都可以动态获得行为。
在humanoid.java中:
package Robots;
进口行为。
进口行为。
公共类人形生物扩展了机器人{
私人Iwalk Walker =新的ForwardLegs();
Iwalk getWalker() {
return walker;
}
public void setWalker(Iwalk walker) {
this.walker = walker;
}
public void moving() {
setWalker(walker);
walker.move();
}
}
在helloworld.java类中(未链接到任何类,仅用于初始化)
Humanoid asimov = new Humanoid();
asimov.setWalker(new ForwardLegs());
asimov.moving();
因此,有一个答案要回答我的问题:如何使用lejos将界面放置在legomindstorm砖上。或者另一种UML设计也可以做到,但没有接口。提前。
最佳答案
我通过不使用接口解决了问题。我需要接口的原因是因为我需要多态性。也可以通过将IWalk接口更改为抽象类并更改实现以扩展行为来实现。