지지 않도록이 코드를 가지고 : 추상 방법/
public interface Position {
public int getX();
public int setX(int x);
public int getY();
public int setY(int y);
}
public StandardPosition implements Position {
// STANDARD implementation of Position here
}
public abstract class Mover {
public abstract Position move (Position originalPosition);
}
A "무버는"최종 위치로 초기 위치에서 뭔가를 이동 무언가이다.
이제 흥미로운 부분이 있습니다. 일부 발동기는 좀 더 복잡하고 더 복잡한 위치 개체로 작업합니다.
public class ComplicatedPosition extends StandardPosition {
// ADDS Y DIMENSION
private int y;
public int getY() { return(y); }
public void setY(int y) { this.y = y ; }
}
public class MoreComplicatedMover extends Mover {
@Override
public void Position move(Position initialPosition) {
ComplicatedPosition q = (ComplicatedPosition) initialPosition;
// Do a transformation and
// return a new position
return(q);
}
}
내 질문은 여기에 ... ComplicatedPosition의 위치에서지지 않도록 할 수있는 방법이 ... ... 또 다른 방법 (우리는 클래스 인터페이스에서 캐스팅 .. 어색 조금 보인다) 이 질문을하는 방법은 :이 코드를 설정하는 다른 방법이 있습니까? 건배! 당신이 할 수
일부 코드 예제를 명확히해야합니다. Position.setX() 및 Position.setY()에 인수가 없습니까? CompleicatedPosition이 클래스 또는 인터페이스입니까? 인터페이스 만 다른 인터페이스를 확장 할 수 있지만 예제에 표시된 것처럼 인터페이스에는 구현이 포함될 수 없습니다. – Dev
감사합니다 @Dev 방금 편집했습니다 ;-) – MadSeb