gpt4 book ai didi

java - Lejos (java) 和接口(interface)//UML 建议

转载 作者:行者123 更新时间:2023-11-30 09:44:07 28 4
gpt4 key购买 nike

我用 lejos 0.9 创建了一个项目。现在我所知道的是,当类具有 public static void main(String[] args) 时,我只能使用 eclips 插件上传和编译类(从 java 到 nxj 文件)。但是我必须在 lego mindstorm 积木上获得更多的类和接口(interface)。有没有办法做到这一点 ?直接连接到 brick 不是一个好主意,因为这样 java 文件将被放在无法运行的 brick 上。

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

所以基本上有一个机器人类和其他机器人,如人形机器人等扩展了这个机器人类。然后是行为。其中都实现了 Iwalk 接口(interface)。由于多态性,每个机器人都可以动态地获得行为。

在 humanoid.java 中:

package Robots;

导入行为。;导入 IBehaviours。;

public class Humanoid extends Robot { private Iwalk 助行器 = new 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 brick 上放置接口(interface)。或另一个 UML 设计,但没有接口(interface)。提前 .

最佳答案

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

关于java - Lejos (java) 和接口(interface)//UML 建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8054016/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com