나는 lejos 0.9로 프로젝트를 만들었습니다. 이제 제가 알고있는 것은 클래스가 public static void main(String[] args)
일 때만 eclips 플러그인으로 클래스를 업로드하고 컴파일 할 수 있다는 것입니다 (java에서 nxj 파일까지). 그러나 나는 레고 정신 이상 벽돌에 더 많은 클래스와 인터페이스를 가져야한다. 이것을 할 수있는 방법이 있습니까? 벽돌에 직접 연결하는 것은 좋은 생각이 아닙니다. 그 이유는 Java 파일을 실행할 수없는 벽돌에 놓기 때문입니다.Lejos (java) 및 인터페이스 // UML 제안
이 문제의 또 다른 옵션은 uml 디자인을 변경하는 것일 수 있습니다. 이것은 현재 디자인입니다
기본적으로 로봇 클래스와 휴머노이드와 같은 다른 로봇이이 로봇 클래스를 확장합니다. 그런 다음 행동이 있습니다. 어느 것이 모두 인터페이스 웍스를 구현합니다. 모든 로봇은 다형성 때문에 동적으로 동작을 얻을 수 있습니다. humanoid.java에서
:
package Robots;
수입 행동. ; 가져 오기 IBehaviours.;
공용 클래스 Humanoid extends Robot { private Iwalk walker = new ForwardLegs(); lejos와 legomindstorm 벽돌에 인터페이스를 넣어하는 방법 : helloworld.java 클래스에서
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();
내 질문에 존재 (바로 시작하기 위해, 모든 클래스에 연결되지 않음). 또는 UML 디자인이 동일하지만 인터페이스가없는 다른 UML 디자인. 미리 타이.
참고 사항 : 신입 사원 용년도에 포함 된 학기 프로젝트 (포함 된 소프트웨어 대신)를 완료하기 위해 Lejos를 사용했고 1 박 (건물/조립품/코드 포함)의 전체 작업을 마쳤습니다. 대학 전체에서 가장 높은 점수를 받았습니다. 재미 있었어 :) – switz
hehe 아주 좋은, 난 아직도 내 프로젝트를 완료하는 몇 주있다 : 피 – Ojtwist