LEJO(java)和接口//UML建议

LEJO(java)和接口//UML建议,java,interface,uml,polymorphism,lejos-nxj,Java,Interface,Uml,Polymorphism,Lejos Nxj,我用lejos0.9创建了一个项目。现在我知道的是,只有当类具有公共静态void main(String[]args)时,我才能使用eclips插件上载和编译类(从java到nxj文件)。但我必须在乐高mindstorm积木上获得更多的类和接口。有办法做到这一点吗?直接连接到程序块不是一个好主意,因为这样java文件就会放在无法运行的程序块上 这个问题的另一个选择可能是更改uml设计。这是目前的设计 所以基本上有一个机器人类,其他机器人如人形机器人等扩展了这个机器人类。还有一些行为。它们都实现

我用lejos0.9创建了一个项目。现在我知道的是,只有当类具有
公共静态void main(String[]args)
时,我才能使用eclips插件上载和编译类(从java到nxj文件)。但我必须在乐高mindstorm积木上获得更多的类和接口。有办法做到这一点吗?直接连接到程序块不是一个好主意,因为这样java文件就会放在无法运行的程序块上

这个问题的另一个选择可能是更改uml设计。这是目前的设计

所以基本上有一个机器人类,其他机器人如人形机器人等扩展了这个机器人类。还有一些行为。它们都实现了接口Iwalk。由于多态性,每个机器人都可以动态地获得行为

在humanoid.java中:

package Robots;
进口行为。; 输入IBehaviours

公共类人形机器人{ private Iwalk walker=新的ForwardLegs()

在helloworld.java类中(不链接到任何类,只是为了初始化)


因此,我的问题有了答案:如何使用lejos将接口放在LegomindForm砖块上。或者另一个UML设计,它也这样做,但没有提前使用interfaces.Ty。

我通过不使用接口解决了这个问题。我需要接口的原因是因为我需要多态性。这也可以通过更改IWalk interfa来实现ce转换为抽象类,并将实现更改为行为中的扩展。

只需注意:大一时使用Lejos完成学期项目(而不是附带的软件),最终在一夜之间完成了整个工作(包括构建/组装/代码))呵呵,很好,我还有几周的时间来完成我的项目:p
Iwalk getWalker() {
    return walker;
}

public void setWalker(Iwalk walker) {
    this.walker = walker;
}

public void moving() {
    setWalker(walker);
    walker.move();
}
}
        Humanoid asimov = new Humanoid();
    asimov.setWalker(new ForwardLegs());
    asimov.moving();