Это сложная проблема, поэтому я сделаю все возможное.Проблемы с интерфейсами и параметрами объектов
В основном моя программа имеет два конкретных класса: MovablePoint и MovableCircle. Оба реализуют интерфейс Movable, который имеет четыре метода: moveUp Down left right.
Теперь, когда я застрял в том, что когда я создаю свой MovableCircle, мне нужно использовать переменную экземпляра MovablePoint для представления центра круга. Однако мне также нужен конструктор MovableCircle для выполнения 5 параметров: int x, int y, int xSpeed, int ySpeed, int radius. Первые 4 параметра являются «центром» круга, и они должны быть созданы экземпляром MovablePoint.
Вот что у меня есть:
public class MovableCircle implements Movable {
private int radius;
private int y;
private int x;
private int xSpeed;
private int ySpeed;
public MovablePoint circleCenter;
public MovableCircle (int x, int y, int xSpeed, int ySpeed, int radius) {
this.radius = radius;
this.x = circleCenter.getX();
this.y = circleCenter.getY();
this.xSpeed = circleCenter.getxSpeed();
this.ySpeed = circleCenter.getySpeed();
}
Здесь также код MovablePoint, если это помогает:
public class MovablePoint implements Movable{
private int x;
private int y;
private int xSpeed;
private int ySpeed;
public MovablePoint(int x, int y, int xSpeed,
int ySpeed) {
this.x = x;
this.y = y;
this.xSpeed = xSpeed;
this.ySpeed = ySpeed;
}
Очевидно, есть больше кода, за то, что я писал, но я довольно положительны я правильно закодировали методы класса. Я считаю, что моя проблема заключается в том, что мне нужно создать экземпляр центра MovableCircle с помощью MovablePoint, но я не уверен, как его исправить. Спасибо за вашу помощь, и я прошу прощения, если эта проблема легко решается, и я просто не обращая внимания ..
Кажется, вы можете уменьшить переменные экземпляра для 'MovableCircle' просто' int radius; MovablePoint circleCenter; '. Не нужно дублировать поля, которые уже есть. Вы можете вызвать 'new MovablePoint (x, y, xs, ys);' из конструктора круга. – Thilo
Ах, да, я вижу сейчас, я думаю, что я просто неправильно понял указания, которые мне дали. Спасибо @Thilo – ryan