Проверить наличие столкновений между объектами в состоянии c? - PullRequest
0 голосов
/ 26 марта 2020

Полное раскрытие: я работаю над домашним заданием. Часть задания состоит в том, чтобы определить, имеют ли два объекта (назовите их Thing объекты) одинаковые координаты x, y.

Мой подход заключается в создании экземпляра двух Thing в методе main и проверьте совпадение их координат путем вызова метода public boolean sameSpace(Thing one, Thing two). Этот подход работает отлично.

Однако в инструкциях этого вопроса говорится о реализации метода public static boolean sameSpace(Thing one, Thing two) в классе Thing. static часть этого смущает меня.

Я не могу понять, как бы я сделал проверку перекрытия внутри класса - как один объект имел бы доступ к координатам другого объекта? (В этом отношении, как один объект даже «узнает», что другой объект существует?) Мне кажется, что проверку перекрытия нужно выполнять нестатически.

Есть мысли?

1 Ответ

1 голос
/ 26 марта 2020

Я знаю, что прямо отвечать на домашние вопросы - это табу, но я думаю, что вы понимаете задание и просто запутываетесь в деталях. Ваш профессор, скорее всего, хочет что-то похожее на это.

public class Thing {

    public int x, y;

    public static boolean sameSpace(Thing one, Thing two) {
        return one.x == two.x && one.y == two.y;
    }

}

static просто означает, что метод может быть вызван так:

Thing.sameSpace(thing1, thing2)

...